platform/upstream/pulseaudio.git
14 years agochannelmap: Use "Subwoofer" as pretty name for LFE
Lennart Poettering [Sun, 21 Feb 2010 15:19:40 +0000 (16:19 +0100)]
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.

14 years agovala: fix definition of the GLib mainloop adapter
Lennart Poettering [Fri, 19 Feb 2010 02:32:00 +0000 (03:32 +0100)]
vala: fix definition of the GLib mainloop adapter

14 years agovala: fix definition of INVALID_INDEX
Lennart Poettering [Fri, 19 Feb 2010 02:31:46 +0000 (03:31 +0100)]
vala: fix definition of INVALID_INDEX

14 years agoshm: don't complain about missing SHM segments
Lennart Poettering [Fri, 19 Feb 2010 02:29:36 +0000 (03:29 +0100)]
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.

14 years agopacmd: store away fd type
Lennart Poettering [Thu, 18 Feb 2010 01:32:35 +0000 (02:32 +0100)]
pacmd: store away fd type

14 years agopacat: always fully fulfill write requests
Lennart Poettering [Thu, 18 Feb 2010 00:54:51 +0000 (01:54 +0100)]
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

14 years agofdsem: be more verbose when reading from eventfd fails.
Lennart Poettering [Tue, 16 Feb 2010 02:36:44 +0000 (03:36 +0100)]
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

14 years agodbus: first restart timer, then dispatch it
Lennart Poettering [Tue, 16 Feb 2010 01:49:44 +0000 (02:49 +0100)]
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

14 years agopadsp: emulate /dev/audio, too
Lennart Poettering [Tue, 16 Feb 2010 01:03:45 +0000 (02:03 +0100)]
padsp: emulate /dev/audio, too

https://bugzilla.redhat.com/show_bug.cgi?id=561262

14 years agobuild-sys: add gobject to build dependencies
Lennart Poettering [Tue, 16 Feb 2010 00:43:00 +0000 (01:43 +0100)]
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.

14 years agoalsa: use default output port names
Lennart Poettering [Mon, 15 Feb 2010 23:59:24 +0000 (00:59 +0100)]
alsa: use default output port names

instead of coming up with pointless aliases, reuse the already established
names, for second headphones, and second speakers.

14 years agoalsa: cover "Internal Mic" elements
Lennart Poettering [Mon, 15 Feb 2010 23:58:49 +0000 (00:58 +0100)]
alsa: cover "Internal Mic" elements

https://bugzilla.redhat.com/show_bug.cgi?id=562216

14 years agoalsa: cover 'Shared Mic/Line in', 'Analog Source'
Lennart Poettering [Mon, 15 Feb 2010 22:39:12 +0000 (23:39 +0100)]
alsa: cover 'Shared Mic/Line in', 'Analog Source'

https://bugzilla.redhat.com/show_bug.cgi?id=558638

14 years agoalsa: cover "Desktop Speaker" mixer elements
Lennart Poettering [Mon, 15 Feb 2010 21:23:39 +0000 (22:23 +0100)]
alsa: cover "Desktop Speaker" mixer elements

As exposed by really old Microsoft USB sound systems

14 years agoRevert "pacat: Don't use any buffer attr if we don't set any latency/process time...
Lennart Poettering [Sun, 21 Feb 2010 16:40:44 +0000 (17:40 +0100)]
Revert "pacat: Don't use any buffer attr if we don't set any latency/process time params"

This reverts commit ff2091b2c47dfa7d9f1397627b72d9366b60f566.

14 years agopactl: implement pactl subscribe
Lennart Poettering [Sun, 21 Feb 2010 16:39:47 +0000 (17:39 +0100)]
pactl: implement pactl subscribe

This is a simple debugging tool which prints out subscription events

14 years agovirtual-sink,source: enable virtual-source and virtual-sink
Pierre-Louis Bossart [Thu, 11 Feb 2010 21:46:41 +0000 (15:46 -0600)]
virtual-sink,source: enable virtual-source and virtual-sink

14 years agovirtual-source: boilerplate virtual source for PCM processing on inputs
Pierre-Louis Bossart [Thu, 11 Feb 2010 21:45:35 +0000 (15:45 -0600)]
virtual-source: boilerplate virtual source for PCM processing on inputs

14 years agovirutal-sink: boilerplate virtual sink to add PCM processing
Pierre-Louis Bossart [Thu, 11 Feb 2010 21:44:11 +0000 (15:44 -0600)]
virutal-sink: boilerplate virtual sink to add PCM processing

14 years agopacat: Don't use any buffer attr if we don't set any latency/process time params
Colin Guthrie [Thu, 11 Feb 2010 23:33:19 +0000 (23:33 +0000)]
pacat: Don't use any buffer attr if we don't set any latency/process time params

14 years agonative: rework handling of seeks that depend on variables the client does not know...
Lennart Poettering [Mon, 18 Jan 2010 00:33:04 +0000 (01:33 +0100)]
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.

14 years agoclient: implement $PULSE_LATENCY_MSEC
Lennart Poettering [Fri, 15 Jan 2010 00:25:42 +0000 (01:25 +0100)]
client: implement $PULSE_LATENCY_MSEC

This allows easy overriding of a clients latency setting for debugging
purposes.

http://pulseaudio.org/ticket/753

14 years agopacat: allow configuration of latency in msec
Lennart Poettering [Fri, 15 Jan 2010 00:25:21 +0000 (01:25 +0100)]
pacat: allow configuration of latency in msec

14 years agoudev: use ID_MODEL_ENC instead of ID_MODEL if it is set
Lennart Poettering [Thu, 14 Jan 2010 19:31:00 +0000 (20:31 +0100)]
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

14 years agoalsa: cover bass boost mixer element
Lennart Poettering [Thu, 14 Jan 2010 01:53:50 +0000 (02:53 +0100)]
alsa: cover bass boost mixer element

http://pulseaudio.org/ticket/740

14 years agoudev: rework modem detection a bit
Lennart Poettering [Thu, 14 Jan 2010 01:06:52 +0000 (02:06 +0100)]
udev: rework modem detection a bit

Check every single pcm device of a card whether it is a modem.

14 years agoudev: handle sound cards with both modem and audio properly
Daniel T. Chen [Wed, 13 Jan 2010 23:57:27 +0000 (00:57 +0100)]
udev: handle sound cards with both modem and audio properly

http://pulseaudio.org/ticket/681
https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/394500

14 years agoalsa: Cover the 'Int Mic Boost' element.
Colin Guthrie [Wed, 13 Jan 2010 23:47:21 +0000 (23:47 +0000)]
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

14 years agoalsa: cover Input Source:Int Mic
Colin Guthrie [Wed, 13 Jan 2010 23:44:00 +0000 (23:44 +0000)]
alsa: cover Input Source:Int Mic

As seen on some HDA chips (e.g. Fujitsu Siemens S6410)
Refs http://pulseaudio.org/ticket/772

14 years agocpu: check for CMOV flag before using this intsruction in assembly
Lennart Poettering [Wed, 13 Jan 2010 19:31:17 +0000 (20:31 +0100)]
cpu: check for CMOV flag before using this intsruction in assembly

http://pulseaudio.org/ticket/776

14 years agoalsa: ignore volume changes from the hw if we are not on the active console
Lennart Poettering [Wed, 13 Jan 2010 19:30:36 +0000 (20:30 +0100)]
alsa: ignore volume changes from the hw if we are not on the active console

14 years agoudev: make sure we get events only for sound devices
Lennart Poettering [Wed, 13 Jan 2010 18:41:44 +0000 (19:41 +0100)]
udev: make sure we get events only for sound devices

14 years agolog: add an easy way to disable log rate limiting
Lennart Poettering [Wed, 13 Jan 2010 16:35:04 +0000 (17:35 +0100)]
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

14 years agobluetooth: fix invalid memory access
Lennart Poettering [Wed, 13 Jan 2010 16:24:37 +0000 (17:24 +0100)]
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

14 years agoonce: make once related variables volatile
Lennart Poettering [Tue, 12 Jan 2010 22:03:04 +0000 (23:03 +0100)]
once: make once related variables volatile

14 years agoudev: don't forget to unref devices we are not interested in
Lennart Poettering [Tue, 12 Jan 2010 22:01:24 +0000 (23:01 +0100)]
udev: don't forget to unref devices we are not interested in

https://bugzilla.redhat.com/show_bug.cgi?id=552932

14 years agoclient: verify connection state in pa_stream_connect_upload()
Lennart Poettering [Tue, 12 Jan 2010 02:01:27 +0000 (03:01 +0100)]
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

14 years agoclient: detect forking in sample cache API, too
Lennart Poettering [Tue, 12 Jan 2010 02:01:14 +0000 (03:01 +0100)]
client: detect forking in sample cache API, too

14 years agobluetooth: don't hit an assert if latency is queried for a stooped recording stream
Lennart Poettering [Fri, 8 Jan 2010 22:44:42 +0000 (23:44 +0100)]
bluetooth: don't hit an assert if latency is queried for a stooped recording stream

https://bugzilla.redhat.com/show_bug.cgi?id=537422

14 years agobluetooth: destruct stream only if it is not already destructed
Lennart Poettering [Fri, 8 Jan 2010 21:18:15 +0000 (22:18 +0100)]
bluetooth: destruct stream only if it is not already destructed

https://bugzilla.redhat.com/show_bug.cgi?id=551842

14 years agocore: make sure we always return a valid memblock in sink_input_pop() callbacks
Lennart Poettering [Fri, 8 Jan 2010 20:51:30 +0000 (21:51 +0100)]
core: make sure we always return a valid memblock in sink_input_pop() callbacks

https://bugzilla.redhat.com/show_bug.cgi?id=553607

14 years agonative: fix request counter miscalculations
Lennart Poettering [Fri, 8 Jan 2010 19:07:34 +0000 (20:07 +0100)]
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

14 years agodbus: remove filter functions only if they were actually set before
Lennart Poettering [Fri, 8 Jan 2010 19:06:21 +0000 (20:06 +0100)]
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

14 years agobump soname
Lennart Poettering [Mon, 23 Nov 2009 04:07:00 +0000 (05:07 +0100)]
bump soname

14 years agobuild-sys: bump soname
Lennart Poettering [Wed, 11 Nov 2009 04:32:24 +0000 (05:32 +0100)]
build-sys: bump soname

14 years agocore: Fix macro typo - PA_SINK_IS_LINKED -> PA_SINK_INPUT_IS_LINKED
Colin Guthrie [Tue, 9 Feb 2010 21:37:32 +0000 (21:37 +0000)]
core: Fix macro typo - PA_SINK_IS_LINKED -> PA_SINK_INPUT_IS_LINKED

14 years agostream-restore: Clear the save_sink/save_source flags on apply_entry.
Colin Guthrie [Fri, 5 Feb 2010 00:15:38 +0000 (00:15 +0000)]
stream-restore: Clear the save_sink/save_source flags on apply_entry.

If the user specifically removes the device element from the stream
restore rule, we have to clear the save_sink/save_source flag of the
stream. This means that other stream routing systems
(e.g. module-device-manager) can take over routing for this
stream. In order to facilitate the reapplication of other routing
rules, we fire a stream change event. Arguably the stream itself
has not changed, but the rules governing its routing have, so
I feel this is justified.

14 years agoosx: don't build the once-test binary on OS X
Daniel Mack [Tue, 2 Feb 2010 10:30:09 +0000 (18:30 +0800)]
osx: don't build the once-test binary on OS X

OS X lacks the barrier pthread APIs

14 years agoclient.conf.in: Typo. s/a/are/
Paul Menzel [Sat, 30 Jan 2010 12:59:52 +0000 (13:59 +0100)]
client.conf.in: Typo. s/a/are/

This is the same typo as reported in [1] and fixed in [2] in `client.conf.in`.

I did `git grep "values a commented"` and did not get anymore hits.

[1] http://pulseaudio.org/ticket/783
[2] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=ea8927f1d47be101a1f64b2f87fd6e527ff76dbe

14 years agoman pages: correct formatting/markup of options
Paul Menzel [Sun, 31 Jan 2010 11:44:59 +0000 (12:44 +0100)]
man pages: correct formatting/markup of options

14 years agoshm: explicitly mark shm seg for MAP_NORESERVE to request overcommiting no matter...
Lennart Poettering [Tue, 2 Feb 2010 07:51:44 +0000 (08:51 +0100)]
shm: explicitly mark shm seg for MAP_NORESERVE to request overcommiting no matter what

14 years agoTypo. s/a/are/
Paul Menzel [Thu, 21 Jan 2010 12:11:56 +0000 (13:11 +0100)]
Typo. s/a/are/

Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
14 years agoclient: include dolby channel names in comments
Lennart Poettering [Thu, 14 Jan 2010 20:32:26 +0000 (21:32 +0100)]
client: include dolby channel names in comments

14 years agostart: we don't need to check for $PULSE_SERVER anymore
Lennart Poettering [Thu, 14 Jan 2010 19:33:40 +0000 (20:33 +0100)]
start: we don't need to check for $PULSE_SERVER anymore

pulseaudio --start does that internally anyway, so we can get rid of
this here.

14 years agonative: when run in system mode, do not look for fallback port
Lennart Poettering [Wed, 13 Jan 2010 23:15:51 +0000 (00:15 +0100)]
native: when run in system mode, do not look for fallback port

14 years agonative: fallback to another port if the default port is taken
Lennart Poettering [Wed, 13 Jan 2010 23:13:13 +0000 (00:13 +0100)]
native: fallback to another port if the default port is taken

Unless the port number is explicitly configured we will now fallback to
a kernel picked port if the one we'd like by default we cannot get.

http://pulseaudio.org/ticket/773

14 years agoclient: introduce auto-connect-display= following the scheme of auto-connect-localhost=
Lennart Poettering [Wed, 13 Jan 2010 21:15:52 +0000 (22:15 +0100)]
client: introduce auto-connect-display= following the scheme of auto-connect-localhost=

Just connecting to a PA server just because X11's $DISPLAY is set might
be a security hole.

14 years agoclient: introduce auto-connect-localhost= option in client.conf
Lennart Poettering [Wed, 13 Jan 2010 21:08:59 +0000 (22:08 +0100)]
client: introduce auto-connect-localhost= option in client.conf

Partly fixes:

http://pulseaudio.org/ticket/773

Also fixes a security hole since listening on the default port is not
access controlled right now.

14 years agoMerge remote branch 'tanuk/fixes'
Lennart Poettering [Wed, 13 Jan 2010 20:33:11 +0000 (21:33 +0100)]
Merge remote branch 'tanuk/fixes'

14 years agotests: add pa_once_xxx() test
Lennart Poettering [Wed, 13 Jan 2010 16:40:31 +0000 (17:40 +0100)]
tests: add pa_once_xxx() test

14 years agodaemon: Don't autospawn if a server address is explicitly configured.
Tanu Kaskinen [Sat, 9 Jan 2010 09:55:15 +0000 (11:55 +0200)]
daemon: Don't autospawn if a server address is explicitly configured.

14 years agosink-input: Replace a tab indentation with spaces.
Tanu Kaskinen [Wed, 6 Jan 2010 08:41:55 +0000 (10:41 +0200)]
sink-input: Replace a tab indentation with spaces.

14 years agoidxset: Fix _get_by_data() comment.
Tanu Kaskinen [Wed, 27 May 2009 13:57:06 +0000 (16:57 +0300)]
idxset: Fix _get_by_data() comment.

14 years agocore: volume ramping fix
huan zheng [Tue, 5 Jan 2010 23:21:07 +0000 (00:21 +0100)]
core: volume ramping fix

Hi,
I found that volume ramping is inside PA now.
there's a minor fix here, it is a bug i found after the patch is submitted:

line 1781 of sink-input.c :
if ((i->thread_info.ramp_info.envelope_dying - nbytes) <= 0) {
need to be changed to
if ((i->thread_info.ramp_info.envelope_dying - (ssize_t) nbytes) <= 0) {

otherwise this argument will never be negative since nbytes is of type
size_t which is unsigned.
Please change it when you have time, sorry if bring any inconvenience.  :)

14 years agoMerge remote branch 'zonque/topic/osx'
Lennart Poettering [Tue, 5 Jan 2010 21:52:57 +0000 (22:52 +0100)]
Merge remote branch 'zonque/topic/osx'

14 years agofix a number of warnings
Daniel Mack [Thu, 10 Dec 2009 07:43:58 +0000 (15:43 +0800)]
fix a number of warnings

most of them were due to missing #ifdefs or wrong printf format type for
[s]size_t.

14 years agoheaders: Some trivial fixes for some documentation typos
Mads Kiilerich [Fri, 11 Dec 2009 15:20:31 +0000 (16:20 +0100)]
headers: Some trivial fixes for some documentation typos

Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP
choose one of them and introduce a backward compatibility hack for the other.

The issues was mostly found with:
for a in $(grep -r '^[ /]\*.*()' $(
find -name '*.[ch]') |
sed 's,^.* \([^ ]*\)().*$,\1,g' |
sort |
uniq |
grep ^pa_)
do
grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a
done

14 years agoSubject: rtpoll: better support for DEBUG_TIMING logs
Pierre-Louis Bossart [Wed, 23 Dec 2009 19:57:03 +0000 (13:57 -0600)]
Subject: rtpoll: better support for DEBUG_TIMING logs

On all the platforms I tested, PulseAudio is frequently awaken and
doesn't sleep for the duration specified for the poll timeout.
Sometimes wake-ups occur within milliseconds of the poll call for no
good reason; this seems to be related to ALSA issues (see my posts on
the ALSA mailing list on null poll events).
This patch enables a better log of requested sleep times v. actual
sleep times. Enable DEBUG_TIMING to see actual messages. Please let me
know if you see odd behaviors like the one below
- Pierre

E: rtpoll.c: rtpoll_run
E: rtpoll.c: poll timeout: 188 ms
E: rtpoll.c: Process time 0 ms; sleep time 48 ms
E: rtpoll.c: rtpoll_run
E: rtpoll.c: rtpoll finish
E: rtpoll.c: rtpoll_run
E: rtpoll.c: poll timeout: 139 ms
E: rtpoll.c: Process time 0 ms; sleep time 49 ms
E: rtpoll.c: rtpoll_run
E: rtpoll.c: rtpoll finish
E: rtpoll.c: rtpoll_run
E: rtpoll.c: poll timeout: 189 ms
E: rtpoll.c: Process time 0 ms; sleep time 0 ms
E: rtpoll.c: rtpoll_run
E: rtpoll.c: rtpoll finish
E: rtpoll.c: rtpoll_run
E: rtpoll.c: poll timeout: 189 ms
E: rtpoll.c: Process time 0 ms; sleep time 49 ms

14 years agoFix typo in log message: s/may no be/may not be/
chocolateboy [Sat, 26 Dec 2009 01:46:32 +0000 (01:46 +0000)]
Fix typo in log message: s/may no be/may not be/

Hi, Lennart.

Spotted another typo. Patch attached.

Best wishes,
chocolateboy.

14 years agoalsa: add profile set for M-Audio FastTrack Pro USB
David Kågedal [Tue, 5 Jan 2010 19:14:11 +0000 (20:14 +0100)]
alsa: add profile set for M-Audio FastTrack Pro USB

14 years agoudev: Use SOUND_CLASS instead of SOUND_FORM_FACTOR when checking for modem
Daniel T Chen [Tue, 5 Jan 2010 02:53:36 +0000 (21:53 -0500)]
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.

14 years agothreaded-mainloop: Properly initialise m->n_waiting_for_accept to prevent deadlock
Daniel T Chen [Tue, 5 Jan 2010 02:44:37 +0000 (21:44 -0500)]
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

14 years agoMore src/pulsecore/cpu-arm.c FTBFS fixes
Daniel T Chen [Thu, 17 Dec 2009 04:55:05 +0000 (23:55 -0500)]
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>
14 years agoFix the following warnings (which now cause buildd failures in Ubuntu 10.04):
Daniel T Chen [Thu, 17 Dec 2009 03:53:18 +0000 (22:53 -0500)]
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>
14 years agofix a number of warnings
Daniel Mack [Thu, 10 Dec 2009 07:42:40 +0000 (15:42 +0800)]
fix a number of warnings

most of them were due to missing #ifdefs or wrong printf format type for
[s]size_t.

14 years agoosx: add native zeroconf implementation via Bonjour
Daniel Mack [Thu, 10 Dec 2009 02:32:57 +0000 (10:32 +0800)]
osx: add native zeroconf implementation via Bonjour

Avahi and dbus is too heavy for OSX just for the sake of publishing our
services via mDNS/Zeroconf. Apple has its own Zeroconf implementation
called Bonjour, and this patch adds a module that implements service
announcement with that API.

All data gathering is copied from module-zeroconf-publish.c, but
unfortunately the code there is too specifically made for avahi, so I
couldn't factor it out to reuse it.

14 years agoCoreAudio: add audio device module
Daniel Mack [Tue, 22 Sep 2009 03:27:57 +0000 (11:27 +0800)]
CoreAudio: add audio device module

This patch adds support for CoreAudio driven devices under Mac OS X. It
is typically instanciated by the CoreAudio device detection module and
handles all available streams on a specific device.

Sinks are created according to the reported stream configuration.
Float32 is used as default audio sample format at it is the only format
CoreAudio speaks natively.

Hardware volume control is not implemented yet.

14 years agoCoreAudio: add device detection module
Daniel Mack [Tue, 22 Sep 2009 03:10:26 +0000 (11:10 +0800)]
CoreAudio: add device detection module

This adds a new module for CoreAudio device detection. It registers a
callback to detect hotplugged devices and creates/destroys modules named
'module-coreaudio-device'. Devices are identified via a system-wide
unique AudioDeviceID.

14 years agohack around another OS X bug: recv() with MSG_PEEK does not work
Daniel Mack [Sun, 6 Dec 2009 23:40:03 +0000 (00:40 +0100)]
hack around another OS X bug: recv() with MSG_PEEK does not work

At least for pipes, recv() with MSG_PEEK does actually eat up data from
file descriptors. Hence, this can't be used for PULLHUP emulation.

Use another ioctl hack for that.

14 years agopoll() is totally broken on Mac OS X
Daniel Mack [Sun, 22 Nov 2009 23:12:18 +0000 (00:12 +0100)]
poll() is totally broken on Mac OS X

Even on 10.5.8, poll() does not do the right thing. Haven't checked on
newer versions. Hence, wrap all occurences of poll() to pa_poll and
emulate that call with select() on OSX. This is totally embarassing.

14 years agosrc/Makefile.am: add specific OS_IS_DARWIN files
Kim Lester [Wed, 16 Sep 2009 01:24:27 +0000 (09:24 +0800)]
src/Makefile.am: add specific OS_IS_DARWIN files

Signed-off-by: Kim Lester <kim@dfusion.com.au>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
14 years agocore-rtclock.c: tweak OS_IS_DARWIN constraints
Daniel Mack [Sun, 1 Nov 2009 19:06:08 +0000 (20:06 +0100)]
core-rtclock.c: tweak OS_IS_DARWIN constraints

Move the code for OS_IS_DARWIN to the top as on Darwin,
HAVE_CLOCK_GETTIME is also defined.

14 years agoconfigure.ac: add DARWIN_OS variable
Kim Lester [Wed, 16 Sep 2009 01:07:50 +0000 (09:07 +0800)]
configure.ac: add DARWIN_OS variable

Signed-off-by: Kim Lester <kim@dfusion.com.au>
Signed-off-by: Daniel Mack <daniel@caiaq.de>
14 years agoMerge branch 'master' of git://0pointer.de/pulseaudio
Daniel Mack [Sun, 6 Dec 2009 14:53:36 +0000 (15:53 +0100)]
Merge branch 'master' of git://0pointer.de/pulseaudio

14 years agoAdd a configure option to change 'udevrulesdir'
Arun Raghavan [Sun, 6 Dec 2009 07:01:25 +0000 (12:31 +0530)]
Add a configure option to change 'udevrulesdir'

This patch serves two purposes:

  1) Allows something other than the de-facto standard udev rules dir or
     /lib/udev/rules.d to be used (the udev build system allows you to
     customise this)

  2) Allows a prefixed, non-root install (right now, the /lib/... path
     is hard-coded into the build system

14 years agoMark shared variables as volatile
Arun Raghavan [Sun, 6 Dec 2009 06:50:53 +0000 (12:20 +0530)]
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.

14 years agostream-restore: At startup, create dbus entries only for valid database entries.
Tanu Kaskinen [Thu, 3 Dec 2009 13:34:26 +0000 (15:34 +0200)]
stream-restore: At startup, create dbus entries only for valid database entries.

14 years agostream-restore: Add a missing pa_xnew0() call in handle_add_entry().
Tanu Kaskinen [Thu, 3 Dec 2009 13:32:23 +0000 (15:32 +0200)]
stream-restore: Add a missing pa_xnew0() call in handle_add_entry().

14 years agostream-restore: Fix a few assertion misuses with the D-Bus code.
Tanu Kaskinen [Thu, 3 Dec 2009 13:31:11 +0000 (15:31 +0200)]
stream-restore: Fix a few assertion misuses with the D-Bus code.

14 years agodbus: Add a missing break statement in handle_message_cb().
Tanu Kaskinen [Thu, 3 Dec 2009 13:30:01 +0000 (15:30 +0200)]
dbus: Add a missing break statement in handle_message_cb().

14 years agodbus: Handle the cases when a non-existing interface is detected in an incoming message.
Tanu Kaskinen [Thu, 3 Dec 2009 13:28:36 +0000 (15:28 +0200)]
dbus: Handle the cases when a non-existing interface is detected in an incoming message.

14 years agolibpulse: Store pa_stream pointers to hashmaps instead of dynarrays.
Tanu Kaskinen [Thu, 3 Dec 2009 11:22:05 +0000 (13:22 +0200)]
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.

14 years agoMerge branch 'master' of git://0pointer.de/pulseaudio
Daniel Mack [Tue, 1 Dec 2009 01:22:39 +0000 (02:22 +0100)]
Merge branch 'master' of git://0pointer.de/pulseaudio

14 years agoMerge remote branch 'tanuk/master'
Colin Guthrie [Mon, 30 Nov 2009 14:55:57 +0000 (14:55 +0000)]
Merge remote branch 'tanuk/master'

14 years agoMerge branch 'master' of git://0pointer.de/pulseaudio
Daniel Mack [Tue, 24 Nov 2009 16:38:25 +0000 (17:38 +0100)]
Merge branch 'master' of git://0pointer.de/pulseaudio

14 years agoMerge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Lennart Poettering [Mon, 23 Nov 2009 04:45:33 +0000 (05:45 +0100)]
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio

14 years agoMerge remote branch 'phish3/master'
Lennart Poettering [Mon, 23 Nov 2009 03:48:31 +0000 (04:48 +0100)]
Merge remote branch 'phish3/master'

14 years agoMerge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio
Lennart Poettering [Sun, 22 Nov 2009 20:40:15 +0000 (21:40 +0100)]
Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio

15 years agofreebsd: implement pa_get_binary_name
Joe Marcus Clarke [Sat, 21 Nov 2009 00:13:35 +0000 (01:13 +0100)]
freebsd: implement pa_get_binary_name

Stolen from
http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/pulseaudio/files/patch-src_pulse_util.c?rev=1.1
and fixed for indentation.

15 years agosrc/utils/qpaeq: added more friendly error messages to common errors
Jason Newton [Fri, 20 Nov 2009 23:18:59 +0000 (15:18 -0800)]
src/utils/qpaeq: added more friendly error messages to common errors