Commit graph

5099 commits

Author SHA1 Message Date
Lennart Poettering
4a32103d84 native: improve logging for buffer_attrs 2010-02-22 03:40:29 +01:00
Lennart Poettering
a469d44e69 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 03:22:28 +01:00
Lennart Poettering
b2e9fb6f6e pacat: pass buffer_attr to recording streams too
Pointed out by Colin Guthrie.

https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-February/006698.html
2010-02-21 21:13:02 +01:00
Lennart Poettering
f9b9579cf4 scache: when playing a sample from the cache make sure not queue them up when the sink is suspended
libcanberra already sets the appropriate flags for uncached sample
streams, we now need to make sure to set them for cached samples too.
2010-02-21 17:36:52 +01:00
Lennart Poettering
180589511d sample-cache: use the sample name as unmodified fallback in the properties when playing a sample from the cache 2010-02-21 17:36:51 +01:00
Lennart Poettering
8adf536426 stream-restore: be a little bit more verbose why we don't reastore a sink 2010-02-21 17:36:51 +01:00
Lennart Poettering
ddabaa3b0f proplist: explicitly mention a role 'test' 2010-02-21 17:36:51 +01:00
Lennart Poettering
117c99de3a vala: fix wrapping of port setting calls 2010-02-21 17:36:51 +01:00
Lennart Poettering
3f44bf0afa channelmap: Use "Subwoofer" as pretty name for LFE
The pretty name is suspposed to be understandable by non-technical
folks, and they are generally more used to the term "Subwoofer" than
"Low Frequency Emitter", so let's change the name here.
2010-02-21 17:36:51 +01:00
Daniel T Chen
047e16f2d1 Add missing profile and alsa-mixer/paths to src/Makefile.am
Commits e8cb96c and 0c836aa created mixer paths but did not update
src/Makefile.am.  Building a snapshot containing these two commits
therefore results in the user being unable to adjust the volume or
(un)mute through PA.  Fix this by adding the two new mixer paths
files to src/Makefile.am.

Likewise, commit 66e1a2d created a profile for the M-Audio FastTrack
Pro USB but did not update src/Makefile.am.  Fix this by adding the
profile to src/Makefile.am.
2010-02-19 08:48:37 +00:00
Lennart Poettering
6bbdd200e8 vala: fix definition of the GLib mainloop adapter 2010-02-19 03:32:00 +01:00
Lennart Poettering
5ce18c32f6 vala: fix definition of INVALID_INDEX 2010-02-19 03:31:46 +01:00
Lennart Poettering
dfe27f6237 shm: don't complain about missing SHM segments
If two clients try to cleanup the SHM directory at the same time, they
might want to open and then delete the same segment at the same time, in
which case one client might win, the other one lose. In this case, don't
warn about ENOENT.
2010-02-19 03:29:36 +01:00
Lennart Poettering
6e064d1d6d pacmd: don't enter busy loop when reading from stdin very early
pointed out in:

https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-January/006365.html
2010-02-18 03:28:56 +01:00
Lennart Poettering
96ec29c6b2 pacmd: store away fd type 2010-02-18 02:32:35 +01:00
Lennart Poettering
19fa81bf13 pacat: always fully fulfill write requests
Make sure we always fulfill write requests from the server. If we don't
the server won't ask us again and playback will stay stuck.

https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-February/006611.html
2010-02-18 01:54:51 +01:00
Lennart Poettering
5e2af2d3f3 fdsem: be more verbose when reading from eventfd fails.
Apperently reading from an eventfd can fail, which results in an assert
to be hit. I am not sure about the reason for the failure, but in
attempt to track down the issue the next time is hit this prints a more
useful log message.

https://bugzilla.redhat.com/attachment.cgi?id=386380
2010-02-16 03:36:44 +01:00
Lennart Poettering
96592c2115 dbus: first restart timer, then dispatch it
This makes sure that we don't access the timer after it might have been
destroyed already from the dbus timeout callback.

https://bugzilla.redhat.com/attachment.cgi?id=389952
2010-02-16 02:49:44 +01:00
Lennart Poettering
ff2474e5fc padsp: emulate /dev/audio, too
https://bugzilla.redhat.com/show_bug.cgi?id=561262
2010-02-16 02:03:45 +01:00
Lennart Poettering
f9b31fe544 build-sys: add gobject to build dependencies
Since we call g_object_unref() we need to link against gobject in
compliance of the new Fedora implicit DSO linking policy.
2010-02-16 01:43:00 +01:00
Lennart Poettering
307bd142fe 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-16 00:59:24 +01:00
Lennart Poettering
0c836aacd8 alsa: cover "Internal Mic" elements
https://bugzilla.redhat.com/show_bug.cgi?id=562216
2010-02-16 00:58:49 +01:00
Lennart Poettering
7d6bab0d00 alsa: cover 'Shared Mic/Line in', 'Analog Source'
https://bugzilla.redhat.com/show_bug.cgi?id=558638
2010-02-15 23:39:12 +01:00
Lennart Poettering
e8cb96c010 alsa: cover "Desktop Speaker" mixer elements
As exposed by really old Microsoft USB sound systems
2010-02-15 22:23:39 +01:00
Colin Guthrie
a631beeafb core: Fix macro typo - PA_SINK_IS_LINKED -> PA_SINK_INPUT_IS_LINKED 2010-02-09 22:01:08 +00:00
Lennart Poettering
84782f24c5 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-01-18 01:33:04 +01:00
Tanu Kaskinen
52c66b4766 libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.
Since the stream identifiers (channels) are monotonically growing integer, it
isn't a good idea to use them as index to a dynamic array, because the array
will grow all the time. This is not a problem with client connections that
don't create many streams, but, for example, long-running clients that use
libcanberra for playing event sounds, this means that the client connection
effectively leaks memory.
2010-01-15 01:38:19 +01:00
Daniel T Chen
fd5c802ecb Fix the following warnings (which now cause buildd failures in Ubuntu 10.04):
pulsecore/cpu-arm.c: In function 'get_cpuinfo':
pulsecore/cpu-arm.c:70: warning: implicit declaration of function 'pa_read' [-Wimplicit-function-declaration]
pulsecore/cpu-arm.c:72: warning: implicit declaration of function 'pa_close' [-Wimplicit-function-declaration]
pulsecore/cpu-arm.c: In function 'pa_cpu_init_arm':
pulsecore/cpu-arm.c:110: warning: implicit declaration of function 'pa_split_spaces' [-Wimplicit-function-declaration]
pulsecore/cpu-arm.c:110: warning: assignment makes pointer from integer without a cast
Function `pa_split_spaces' implicitly converted to pointer at pulsecore/cpu-arm.c:110

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
2010-01-15 01:35:54 +01:00
Daniel T Chen
09c416e11f More src/pulsecore/cpu-arm.c FTBFS fixes
Fix missing argument to pa_read(), and be consistent with declaration of
state variable in pa_cpu_init_arm().

Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
2010-01-15 01:35:35 +01:00
Daniel T Chen
8c7148a4ea udev: Use SOUND_CLASS instead of SOUND_FORM_FACTOR when checking for modem
The fact whether an ALSA card is a modem is stored in the SOUND_CLASS,
not the SOUND_FORM_FACTOR property. So read it from there.

Patch from Whoopie.
2010-01-15 01:34:55 +01:00
Daniel T Chen
a2418effe7 threaded-mainloop: Properly initialise m->n_waiting_for_accept to prevent deadlock
Compiler optimisations have been seen to initialise
m->n_waiting_for_accept to a positive non-zero value, so the while() in
pa_threaded_mainloop_signal() never proceeds. Fix this by properly
initializing m->n_waiting_for_accept in pa_threaded_mainloop_new().

Patch from Iain Bucław.

https://bugs.launchpad.net/bugs/502992
2010-01-15 01:33:46 +01:00
David Kågedal
66e1a2d051 alsa: add profile set for M-Audio FastTrack Pro USB 2010-01-15 01:33:35 +01:00
Lennart Poettering
86144ee6cb client: include dolby channel names in comments 2010-01-15 01:29:55 +01:00
Lennart Poettering
fa64230107 client: implement $PULSE_LATENCY_MSEC
This allows easy overriding of a clients latency setting for debugging
purposes.

http://pulseaudio.org/ticket/753
2010-01-15 01:25:42 +01:00
Lennart Poettering
27df02779a pacat: allow configuration of latency in msec 2010-01-15 01:25:21 +01:00
Lennart Poettering
e129f8577a 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-01-14 20:36:35 +01:00
Arun Raghavan
366e6d7e90 Mark shared variables as volatile
'n_waiting' and 'n_waiting_for_accept' may be accessed from mulitple
threads, and thus need to be marked as volatile to suppres certain
compiler optimisations. All uses are protected by a mutex, so we don't
need to worry about cache issues (added documentation for this as well).

This addresses bug #738.
2010-01-14 18:48:38 +00:00
Lennart Poettering
48e0f6808b alsa: cover bass boost mixer element
http://pulseaudio.org/ticket/740
2010-01-14 02:53:50 +01:00
Lennart Poettering
93cb75d78e daemon: first take name on the bus, then return in starter process
http://pulseaudio.org/ticket/748
2010-01-14 02:33:49 +01:00
Lennart Poettering
acb4996203 udev: rework modem detection a bit
Check every single pcm device of a card whether it is a modem.
2010-01-14 02:08:29 +01:00
Daniel T. Chen
63c968bf77 udev: handle sound cards with both modem and audio properly
http://pulseaudio.org/ticket/681
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/394500
2010-01-14 02:08:29 +01:00
Colin Guthrie
291cd09601 alsa: Cover the 'Int Mic Boost' element.
This is not 100% ideal as we have not way to tie specific boosts to specific
inputs and this particular chipset (as noted in #772) appears to
support just that.

For the time being incorporate it into the normal boost logic.

See http://pulseaudio.org/ticket/772
2010-01-13 23:47:21 +00:00
Colin Guthrie
67c6535222 alsa: cover Input Source:Int Mic
As seen on some HDA chips (e.g. Fujitsu Siemens S6410)
Refs http://pulseaudio.org/ticket/772
2010-01-13 23:44:00 +00:00
Lennart Poettering
170812755e cpu: check for CMOV flag before using this intsruction in assembly
http://pulseaudio.org/ticket/776
2010-01-13 20:31:17 +01:00
Lennart Poettering
540ec7b961 alsa: ignore volume changes from the hw if we are not on the active console 2010-01-13 20:30:36 +01:00
Lennart Poettering
9b37dce422 udev: make sure we get events only for sound devices 2010-01-13 19:41:44 +01:00
Lennart Poettering
21b484e056 log: add an easy way to disable log rate limiting
Should help with debuggin bugs like:

https://bugzilla.redhat.com/show_bug.cgi?id=554405
2010-01-13 17:35:04 +01:00
Lennart Poettering
4bcb1a909f bluetooth: fix invalid memory access
When an GetProperties() reply arrives after we already deleted the
device structure for it make sure we don't accidentaly touch the
invalidated object.

https://bugzilla.redhat.com/show_bug.cgi?id=543205
2010-01-13 17:24:37 +01:00
Lennart Poettering
73ae1fce00 once: make once related variables volatile 2010-01-12 23:03:04 +01:00
Lennart Poettering
15a3018bda udev: don't forget to unref devices we are not interested in
https://bugzilla.redhat.com/show_bug.cgi?id=552932
2010-01-12 23:01:24 +01:00