summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CoreAudio: add audio device moduleDaniel Mack2009-12-162-1/+828
| | | | | | | | | | | | 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.
* CoreAudio: add device detection moduleDaniel Mack2009-12-162-0/+243
| | | | | | | 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.
* hack around another OS X bug: recv() with MSG_PEEK does not workDaniel Mack2009-12-161-0/+22
| | | | | | | 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.
* poll() is totally broken on Mac OS XDaniel Mack2009-12-1612-40/+34
| | | | | | 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.
* src/Makefile.am: add specific OS_IS_DARWIN filesKim Lester2009-12-091-2/+11
| | | | | Signed-off-by: Kim Lester <kim@dfusion.com.au> Signed-off-by: Daniel Mack <daniel@caiaq.de>
* core-rtclock.c: tweak OS_IS_DARWIN constraintsDaniel Mack2009-12-091-41/+28
| | | | | Move the code for OS_IS_DARWIN to the top as on Darwin, HAVE_CLOCK_GETTIME is also defined.
* configure.ac: add DARWIN_OS variableKim Lester2009-12-091-0/+22
| | | | | Signed-off-by: Kim Lester <kim@dfusion.com.au> Signed-off-by: Daniel Mack <daniel@caiaq.de>
* Merge branch 'master' of git://0pointer.de/pulseaudioDaniel Mack2009-12-069-26/+50
|\
| * Add a configure option to change 'udevrulesdir'Arun Raghavan2009-12-062-1/+7
| | | | | | | | | | | | | | | | | | | | | | 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
| * Mark shared variables as volatileArun Raghavan2009-12-061-1/+4
| | | | | | | | | | | | | | | | | | '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.
| * stream-restore: At startup, create dbus entries only for valid database entries.Tanu Kaskinen2009-12-031-2/+7
| |
| * stream-restore: Add a missing pa_xnew0() call in handle_add_entry().Tanu Kaskinen2009-12-031-0/+1
| |
| * stream-restore: Fix a few assertion misuses with the D-Bus code.Tanu Kaskinen2009-12-031-5/+5
| |
| * dbus: Add a missing break statement in handle_message_cb().Tanu Kaskinen2009-12-031-0/+1
| |
| * dbus: Handle the cases when a non-existing interface is detected in an ↵Tanu Kaskinen2009-12-032-0/+9
| | | | | | | | incoming message.
| * libpulse: Store pa_stream pointers to hashmaps instead of dynarrays.Tanu Kaskinen2009-12-033-18/+17
| | | | | | | | | | | | | | | | | | 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.
* | Merge branch 'master' of git://0pointer.de/pulseaudioDaniel Mack2009-12-011-0/+2
|\|
| * Merge remote branch 'tanuk/master'Colin Guthrie2009-11-301-0/+2
| |\
| | * Merge branch 'master' of git://0pointer.de/pulseaudioTanu Kaskinen2009-10-136-13/+19
| | |\
| | * | dbusiface-client: Fix the destructor (stop leaking stuff).Tanu Kaskinen2009-10-091-0/+2
| | | |
* | | | Merge branch 'master' of git://0pointer.de/pulseaudioDaniel Mack2009-11-2432-580/+1860
|\| | |
| * | | Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudioLennart Poettering2009-11-232-12/+27
| |\ \ \
| | * \ \ Merge remote branch 'phish3/master'Lennart Poettering2009-11-232-12/+27
| | |\ \ \
| | | * | | src/utils/qpaeq: added more friendly error messages to common errorsJason Newton2009-11-201-12/+26
| | | | | |
| | | * | | Makefile.am: added qpaeq to installed scriptsJason Newton2009-11-201-0/+1
| | | | | |
| | | * | | remove .py extension from qpaeqJason Newton2009-11-201-0/+0
| | | | | |
| * | | | | Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudioLennart Poettering2009-11-2225-423/+1209
| |\| | | |
| | * | | | freebsd: implement pa_get_binary_nameJoe Marcus Clarke2009-11-211-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | * | | | Simplify Makefile.am handling of ALSA-related files.Diego Elio 'Flameeyes' Pettenò2009-11-211-31/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of declaring extra variables for the ALSA profiles and PATHS, and using EXTRA_DIST for the udev rule, use the dist_ prefix when declaring them for conditional installation. This relies on the fact that automake *is* smart enough to know that there exist *no* conditional dist, and will always distribute all of them.
| | * | | | Avoid using devname as a variable name.Diego Elio 'Flameeyes' Pettenò2009-11-211-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | On FreeBSD, devname() is a system function, and was overshadowed.
| | * | | | Rename all the signal parameters and variables to something more explicit.Diego Elio 'Flameeyes' Pettenò2009-11-2110-309/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, on FreeBSD you'll be bothered by tons of warnings about overshadowing signal(2).
| | * | | | Since now we have FreeBSD atomic operations, don't require libatomic_ops.Diego Elio 'Flameeyes' Pettenò2009-11-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This lets the original configure script to pass on FreeBSD.
| | * | | | Simplify handling of NetBSD atomic ops discovery.Diego Elio 'Flameeyes' Pettenò2009-11-211-23/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of having a parameter to enable/disable them (which was also ignored by the source code side), simply identify NetBSD 5 (when the atomic ops were implemented the first time) in a $host switch and ignore checking for libatomic_ops.
| | * | | | Merge branch 'master' of git://git.0pointer.de/pulseaudioDiego Elio 'Flameeyes' Pettenò2009-11-213-22/+715
| | |\ \ \ \
| | | * | | | Merge remote branch 'phish3/master'Lennart Poettering2009-11-212-22/+611
| | | |\| | |
| | | | * | | added qpaeq script for GUI equalizer control to src/utilJason Newton2009-11-201-0/+546
| | | | | | |
| | | | * | | module-equalizer-sink: add latency of output_q and input_q to get latency ↵Jason Newton2009-11-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | calculation
| | | | * | | module-equalizer-sink: switch back to reference dsp implementation - cpu ↵Jason Newton2009-11-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | usage doesn't really change and there may be a bug in the vectorized version
| | | | * | | module-equalizer-sink: (re)added output memblockq commented out timing debug ↵Jason Newton2009-11-201-19/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | statements
| | | * | | | freebsd: fix atomic ops implementationsJoe Marcus Clarke2009-11-211-0/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stole from http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/pulseaudio/files/patch-src_pulsecore_atomic.h?rev=1.6
| | * | | | | Check for stow using AC_CHECK_PROG rather than type -p.Diego Elio 'Flameeyes' Pettenò2009-11-201-2/+4
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The type -p check is not compatible with POSIX shells, and indeed fails when used with the FreeBSD 8 default shell. Instead the AC_CHECK_PROG macro is written properly to look for the command.
| | * | | | Include sys/filio.h if present; this makes use of FIONREAD on Solaris.Diego Elio 'Flameeyes' Pettenò2009-11-202-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FIONREAD on OpenSolaris is declared in sys/filio.h. The RTP modules already rely on the presence of FIONREAD, and check for the header, so this brings the pipe source and sink modules on par with them.
| | * | | | Don't declare the variable l if FIONREAD is not defined.Diego Elio 'Flameeyes' Pettenò2009-11-202-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | This avoids two warnings due to FIONREAD not being defined.
| | * | | | Fix build on Solaris: pass the third parameter to pa_cloexec_open.Diego Elio 'Flameeyes' Pettenò2009-11-201-1/+1
| | | | | |
| | * | | | Move the platform-specific defines after the compiler has been found.Diego Elio 'Flameeyes' Pettenò2009-11-201-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this change, on OpenSolaris, it's possible that the compiler will be reported, by default, as failing to produce executables, since _XOPEN_SOURCE=600 requires a C99 compiler to compile even the simples of the programs.
| | * | | | alsa: fix minor sampling rate deviations before adjusting the buffer sizeLennart Poettering2009-11-201-7/+9
| | | | | |
| | * | | | alsa: fix log output when the audio device refuses to give us again the same ↵Lennart Poettering2009-11-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | period settings we had before
| | * | | | pulse: ask for timing updates both *before* and *after* triggering a stream ↵Lennart Poettering2009-11-201-2/+36
| | | | | | | | | | | | | | | | | | | | | | | | state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information
| | * | | | pulse: delay smoother update only when unpausing, not when pausing, since we ↵Lennart Poettering2009-11-201-17/+19
| | | | | | | | | | | | | | | | | | | | | | | | don't want the timer to advance when we are supposedly already paused
| | * | | | pulse: try to fix inaccuracy with uncork timing for streams that are created ↵Lennart Poettering2009-11-201-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | in corked state