Commit graph

5065 commits

Author SHA1 Message Date
Pierre-Louis Bossart
aaae99d89f 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-15 12:47:34 +01:00
Colin Guthrie
6c8660abd2 alsa: Fix assertion on mmap_write (triggered via a52 plugin) 2010-07-15 12:47:29 +01:00
Colin Guthrie
65f89dca7c 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 13:47:51 +01:00
David Henningsson
d519ca41d7 jack: Prevent crash on jack server shutdown 2010-05-08 01:30:22 +02:00
Lennart Poettering
bc7314f14e thread: name all threads so that the names appear in /proc/$PID/task/$TID/comm 2010-05-03 13:28:39 +02:00
Lennart Poettering
22f708a1ec Revert "Fix crash on jack server shutdown"
This reverts commit e756467434.

The patch is incomplete and not entirely correct.
2010-03-22 17:28:53 +01:00
Jez Austin
e8b83fa7c6 socket-client: properly handle asyncns failures
We fail to detect when people disable IPv6 in there kernels. This patch
makes sure we don't ignore this error condition.

http://pulseaudio.org/ticket/752
https://bugzilla.mozilla.org/show_bug.cgi?id=533470
http://bugs.freedesktop.org/show_bug.cgi?id=25742
2010-03-22 16:12:27 +01:00
Colin Guthrie
a7c1778a68 intended-roles: Do not pick monitor sources when doing automatic role-based device selection 2010-03-17 16:03:11 +00:00
David Henningsson
e756467434 Fix crash on jack server shutdown
On sink unlinking, existing sink inputs are moved, which in turn calls
a get latency callback, which references the jack client. Therefore,
make sure the sink is unlinked before the client is closed. Failure to
do so might lead to SIGSEGV.
2010-03-15 08:14:37 +00:00
Daniel T Chen
29845be64d 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-03-12 08:53:23 +00:00
Kees Cook
d3efa43d85 core-util: ensure that we chmod only the dir we ourselves created 2010-03-04 04:17:23 +01:00
Lennart Poettering
0d1154d078 core: rework how stream volumes affect sink volumes 2010-02-23 18:44:35 +01:00
Lennart Poettering
30f28ebf36 esd,simple: use pa_memblockq_pop_missing()
We need to use pa_memblockq_pop_missing() for all request handling,
including the initial request, because otherwise the counters will be
stay off during the entire runtime.

This should fix:

https://bugzilla.redhat.com/show_bug.cgi?id=559467
2010-02-23 00:48:35 +01:00
Lennart Poettering
195069c181 core-util: introduce generic function pa_strip() 2010-02-22 05:06:39 +01:00
Lennart Poettering
dd682d6f96 alsa: reset max_rewind/max_request while suspending 2010-02-22 05:06:33 +01:00
Lennart Poettering
522c446ddc alsa-util: strip spaces from ALSA card/pcm names
http://pulseaudio.org/ticket/778
2010-02-22 04:55:21 +01:00
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