Commit graph

5138 commits

Author SHA1 Message Date
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
Lennart Poettering
78811c5653 client: verify connection state in pa_stream_connect_upload()
Make suer we check the connection state before going on, so that we can
rely that s->context->pstream is properly initialized.

https://bugzilla.redhat.com/show_bug.cgi?id=539500
2010-01-12 03:01:27 +01:00
Lennart Poettering
bf50dc4230 client: detect forking in sample cache API, too 2010-01-12 03:01:14 +01:00
Lennart Poettering
e7d9f891e2 bluetooth: don't hit an assert if latency is queried for a stooped recording stream
https://bugzilla.redhat.com/show_bug.cgi?id=537422
2010-01-08 23:44:42 +01:00
Lennart Poettering
11688eca4b bluetooth: destruct stream only if it is not already destructed
https://bugzilla.redhat.com/show_bug.cgi?id=551842
2010-01-08 22:18:15 +01:00
Lennart Poettering
3eed219a50 core: make sure we always return a valid memblock in sink_input_pop() callbacks
https://bugzilla.redhat.com/show_bug.cgi?id=553607
2010-01-08 21:51:30 +01:00
Lennart Poettering
8d356659e6 native: fix request counter miscalculations
Do not subtract bytes the client sends us beyond what we requested from
our missing bytes counter.

This was mostly a thinko that caused servers asking for too little data
when the client initially sent more data than requested, because that
data sent too much was accounted for twice.

This commit fixes this miscalculation.

http://bugzilla.redhat.com/show_bug.cgi?id=534130
2010-01-08 20:07:34 +01:00
Lennart Poettering
c41ee00893 dbus: remove filter functions only if they were actually set before
This fixes an assert when destructing modules that have not been fully
initialized.

https://bugzilla.redhat.com/show_bug.cgi?id=548525
2010-01-08 20:06:21 +01:00
Lennart Poettering
06327b1e67 bump soname 2009-11-23 05:07:00 +01:00
Lennart Poettering
7ab8e83cb0 alsa: fix minor sampling rate deviations before adjusting the buffer size 2009-11-23 05:03:49 +01:00
Lennart Poettering
366e3ebe19 alsa: fix log output when the audio device refuses to give us again the same period settings we had before 2009-11-23 05:03:41 +01:00
Lennart Poettering
a281aad784 pulse: ask for timing updates both *before* and *after* triggering a stream state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information 2009-11-23 05:03:30 +01:00