Commit graph

1348 commits

Author SHA1 Message Date
Tanu Kaskinen
c277dc65a3 module-alsa-card: New argument: namereg_fail.
This is added so that module-udev-detect can load multiple module-alsa-card
instances with the same card name - forcing namereg_fail to false allows the
name registry to mangle the card names to be unique.
2010-08-24 17:58:35 +03:00
Wim Taymans
ef0c73cb9d echo-cancel: take into account snapshot delay
Take into account the delay between taking the snapshot from the source and the
sink. Improves the quality of the timings.
2010-08-23 17:47:40 +02:00
Wim Taymans
3dc5469c1f make echo-cancel module that exposes a new sink and source
Make a new echo-cancel module that exposes a new sink and source. All data sent
to the sink is matched against the data captured from the source and
echo-canceled using the speex echo canceler.
2010-08-23 16:55:23 +02:00
Wim Taymans
ef8abcb1b5 alsa: resume smoother after unsuspend
The smoother is paused when the device is suspended but never resumed on
unsuspend. Pass the paused = FALSE flag to the pa_smoother_reset() call to make
it unpause when unsuspending. This patch improves source timings quite a bit.
2010-08-23 11:59:13 +02:00
Tanu Kaskinen
614eef8331 loopback: Make stream names and roles configurable. 2010-08-19 12:08:43 +03:00
Pierre-Louis Bossart
9b6c84ad6e AC3 passthrough support
Second version after Tanu's feedback

TODO:
    - notify client that volume control is disabled
    - change sink rate in passthrough mode if needed
    - automatic detection of passthrough mode instead of hard
    coded profile names

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-08-12 18:20:27 +01:00
Tanu Kaskinen
021aa306aa dbusiface-core: Track sinks and sources using synchronous hooks instead of asynchronous subscription events.
Using the subscription events caused an assertion crash sometimes when a sink
was removed and a new sink was created (i.e. card profile change) and a stream
was moved from the removed sink to the new sink. The stream dbus object's
subscription callback got a change event before the core dbus object's
subscription callback got the sink remove/creation events. The stream's
subscription callback then queried the core for the object path of the new
sink, and since the core was not yet aware of the new sink, an assertion was
hit in pa_dbusiface_device_get_path().

Now that the core uses synchronous hooks to keep the sink and source lists up
to date, this particular problem can't occur anymore.
2010-08-10 15:19:50 +03:00
Lennart Poettering
1552abf628 udev: fix hex decoding 2010-07-19 01:27:22 +02:00
Pierre-Louis Bossart
f26c849efc alsa: add missing iec958 files from previous commit 2010-07-15 08:18:29 +01:00
Pierre-Louis Bossart
fb405765d9 alsa: fix mixer profiles, add passthrough config
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-07-13 23:33:45 +01:00
Pierre-Louis Bossart
cb55b00ccd alsa: disable rewinds when using ALSA plugins
This is required to when playing on a52: device, rewind is broken
in those plugins.
Credits to Michael Rans <mcarans@yahoo.co.uk> for finding this
workaround, and Tanu Kaskinen <tanuk@iki.fi> for providing
valuable feedback.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2010-07-13 22:10:39 +01:00
Colin Guthrie
3ede7e4c01 alsa: Fix assertion on mmap_write (triggered via a52 plugin) 2010-07-13 22:08:23 +01:00
Colin Guthrie
1415a295c2 Merge remote branch 'tanuk2/fixes' 2010-06-05 18:21:31 +01:00
Daniel Mack
3df6845101 modules/coreaudio: replace deprecated functions
All API calls are now consolidated in AudioObject* calls, the old model
has been deprecated in 10.6. Follow that change.
2010-05-15 16:08:16 +01:00
Tanu Kaskinen
22a8c4485b dbus: Stop polling every 10 seconds to check whether all clients are still alive.
Instead, watch for org.freedesktop.DBus.Disconnected signals.
2010-05-10 14:34:55 +03:00
Tanu Kaskinen
71ef5fe7e8 stream-restore: When changing restore entries with D-Bus, apply the changes immediately. 2010-05-10 14:33:54 +03:00
Tanu Kaskinen
c161115288 stream-restore: Fix segfaulting. The dbus entry callbacks expect a dbus_entry pointer instead of a userdata pointer. 2010-05-10 14:11:15 +03:00
Tanu Kaskinen
ad7c8ebff5 dbus: Initialize properly the type field of new server structs. 2010-05-10 14:09:51 +03:00
Tanu Kaskinen
a976db7c49 dbus: Make it possible to allow remote connections from outside localhost. 2010-05-10 14:08:55 +03:00
Tanu Kaskinen
7bc5cd7845 alsa: Fix log output to inform about positive base volumes correctly.
Positive base volume can happen, if the alsa volume range has been limited. For
example, in an embedded environment it may be known that the sound device is
capable of louder output than what the speakers can handle, so setting the max
volume below 0 dB makes sense.
2010-05-10 14:07:12 +03:00
Tanu Kaskinen
6a5f0ba431 alsa-mixer: Replace erroneous PA_ALSA_VOLUME_IGNORE with PA_ALSA_ENUMERATION_IGNORE.
This fix doesn't have any concrete effect, because the two constants have the
same value.
2010-05-10 14:05:25 +03:00
Tanu Kaskinen
77312d06c8 alsa-mixer: Use pa_xfree() instead of pa_xstrdup() for freeing a string. 2010-05-10 14:04:51 +03:00
Colin Guthrie
678f12d056 rtp: Fix bracketing in pa_rtp_recv.
The syntactically correct error meant that the timestamp was always
marked as found and only the first header was checked.

In the case where the timestamp was the first header, things
would have worked as expected.

Thanks to pino for reporting via bug refs #818
2010-05-08 14:21:52 +01:00
Colin Guthrie
dfcaa9325c intended-roles: Do not pick monitor sources when doing automatic role-based device selection 2010-05-08 14:20:50 +01:00
Daniel T Chen
f7b262763a alsa: Handle 'Digital Mic' as an 'Input Source'
BugLink: https://launchpad.net/bugs/533877

Some laptops have 'Digital Mic' exposed as an 'Input Source', e.g., Dell
XPS 1330, so handle these, too.
2010-05-08 14:20:06 +01:00
Pierre-Louis Bossart
4df443bbe6 add rewind-safeguard parameter
Rewinding the ring buffer completely causes audible issues with DMAs.
Previous solution didn't work with tsched=0, and used tsched_watermark
for guardband, which isn't linked to hardware and could become really high
if underflows occurred.

Added separate parameter that can be tuned to hardware limitations and size
of DMA bursts.
2010-05-08 01:38:25 +02:00
David Henningsson
f081c152f3 jack: Prevent crash on jack server shutdown 2010-05-08 01:30:55 +02:00
Lennart Poettering
cdc2769162 thread: name all threads so that the names appear in /proc/$PID/task/$TID/comm 2010-05-07 23:58:59 +02:00
Lennart Poettering
c6b9931bf1 virtual: when fixed block sizes are used the memblockq must have a silence block 2010-02-25 02:41:09 +01:00
Lennart Poettering
34bb996e69 virtual: document how to implement fixed block size filters 2010-02-25 02:26:03 +01:00
Lennart Poettering
87cc741d0e memblockq: implement new call pa_memblockq_peek_fixed_size() 2010-02-25 02:10:45 +01:00
Lennart Poettering
5030852c8e virtual: minor simplifications for the virtual sink 2010-02-25 00:39:56 +01:00
Lennart Poettering
066e626401 equalizer: various smaller cleanups for m-e-s 2010-02-25 00:39:06 +01:00
Lennart Poettering
d11cd33e3a alsa: don't make use of tsched related variables when tsched is disabled 2010-02-23 03:23:22 +01:00
Lennart Poettering
0555c2ec7c suspend-on-idle: resume audio device even for initially corked streams
We need to resume audio devices even for streams that are created in
corked stat, so that the latency ranges of the audio device are known
during the initial latency negotiation. If we don't the latency
negotiation will be based on placeholder data and changed later on which
clients do not expect.

This should fix issues with Skype.

https://bugzilla.redhat.com/show_bug.cgi?id=554929
2010-02-22 04:57:15 +01:00
Lennart Poettering
250aeceb4d alsa: reset max_rewind/max_request while suspending 2010-02-22 04:54:24 +01:00
Lennart Poettering
0b3d7c637c alsa-util: strip spaces from ALSA card/pcm names
http://pulseaudio.org/ticket/778
2010-02-21 22:00:49 +01:00
João Paulo Rechi Vita
342e06498f bluetooth: add HFP Gateway support
Create the 'Handsfree Gateway' profile for bluetooth cards and add
filters for 'org.bluez.HandsfreeGateway' to the discover module so
module-bluetooth-device is loaded with the correct profile when a
Handsfree Gateway connects to bluetoothd (in this case bluetoothd
is acting as the headset).
2010-02-21 20:51:08 +01:00
João Paulo Rechi Vita
edf5f5be6b bluetooth: improve dbus logging 2010-02-21 20:51:02 +01:00
Lennart Poettering
857ff2c160 stream-restore: be a little bit more verbose why we don't reastore a sink 2010-02-21 17:48:46 +01:00
Lennart Poettering
abfd2aa0e7 alsa: use default output port names
instead of coming up with pointless aliases, reuse the already established
names, for second headphones, and second speakers.
2010-02-21 17:47:23 +01:00
Lennart Poettering
dfa00bf8f8 alsa: cover "Internal Mic" elements
https://bugzilla.redhat.com/show_bug.cgi?id=562216
2010-02-21 17:47:13 +01:00
Lennart Poettering
67e3925795 alsa: cover 'Shared Mic/Line in', 'Analog Source'
https://bugzilla.redhat.com/show_bug.cgi?id=558638
2010-02-21 17:47:09 +01:00
Lennart Poettering
14e4369bee alsa: cover "Desktop Speaker" mixer elements
As exposed by really old Microsoft USB sound systems
2010-02-21 17:47:01 +01:00
Pierre-Louis Bossart
bffd21f566 virtual-source: boilerplate virtual source for PCM processing on inputs 2010-02-17 04:17:23 +01:00
Pierre-Louis Bossart
9ffb4f3815 virutal-sink: boilerplate virtual sink to add PCM processing 2010-02-17 04:17:14 +01:00
Lennart Poettering
66cfa72eb4 native: rework handling of seeks that depend on variables the client does not know anything about
All seeks/flushes that depend on the playback buffer read pointer cannot
be accounted for properly in the client since it does not know the
actual read pointer. Due to that the clients do not account for it at
all. We need do the same on the server side. And we did, but a little
bit too extreme. While we properly have not applied the changes to the
"request" counter we still do have to apply it to the "missing" counter.
This patch fixes that.
2010-02-09 22:45:59 +00:00
Lennart Poettering
544fa0b7db udev: use ID_MODEL_ENC instead of ID_MODEL if it is set
That way we should be able to make use of the nicer USB strings the USB
hw provides.

Fixes the issues pointed out in:

https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-January/006248.html
2010-02-09 22:44:00 +00:00
Lennart Poettering
4315f277bc alsa: cover bass boost mixer element
http://pulseaudio.org/ticket/740
2010-02-09 22:43:14 +00:00
Lennart Poettering
63ebd05464 udev: rework modem detection a bit
Check every single pcm device of a card whether it is a modem.
2010-02-09 22:34:10 +00:00