summaryrefslogtreecommitdiff
path: root/src/audio_out/audio_pulse_out.c
AgeCommit message (Collapse)Author
2009-05-28Fix a recently-added POSIX incompatibility.Marc Dequènes (Duck)
2008-10-17Replace configure test for PulseAudio version by cpp testMatthias Ringwald
Version 0.9.6 has PA_PROTOCOL_VERSION 10, version 0.9.7 has 11. This simplifies configure and limits the knowledge about PA versions to the audio output plug-in. This time, the patch includes configure.ac, too.
2008-05-07xine_xmalloc() deprecation: replace its use with static and non-zero size.Diego 'Flameeyes' Pettenò
The xine_xmalloc() function is going to be deprecated, as its behaviour is rarely needed as such, and it's thus misused. With this, almost all uses of xine_xmalloc() with static size (for instance the value returned by sizeof()) or with a size that is guaranteed not to be zero (like strlen()+1) are replaced with calls to either calloc(1, ...) or malloc(). malloc() is used whenever the allocated memory is going to be immediately overwritten, while calloc() is used in every other case, as it sets the whole memory area to zero. --HG-- extra : transplant_source : %8F%98%EC%02%1E%83%F0s%06X%83C%205Y%80%B12%CC%E1
2008-04-14Make sure that muting/unmuting the audio without setting the volume does not ↵Diego 'Flameeyes' Pettenò
put the volume to zero.
2008-04-11Test for pulseaudio 0.9.7 to determine which muting method to use.Darren Salt
2008-04-11Remove an unnecessary volume scale conversion.Darren Salt
The value being converted is already of the correct type.
2008-04-04Updated PulseAudio driver (fixup)Lennart Poettering
The problem was basically that detection if PA was available happened in open() instead of open_plugin().
2008-04-01Updated PulseAudio driverLennart Poettering
It's basically a rework of the PulseAudio driver, fixing all the inherent races (and thus stability issues), adding proper surround sound support, support for proper muting and pause/resume. It also gets rid of all usleep() loops to make sure we don't wakeup more often than we need to. Also does a couple of other minor cleanups. This also increases the autoprobe priority to 12, above ALSA, to make sure that the Pulse plugin is preferred over ALSA if both are available. This is because we want to make sure that Xine-on-PA is preferred over Xine-on-ALSA-on-PA.
2008-02-15Don't unlock unconditionally the mainloop on failure.Diego 'Flameeyes' Pettenò
2007-12-10Simplify Pulse plugin reverting some of today's changes and going back from ↵Diego 'Flameeyes' Pettenò
there. Instead of using a thread to watch for completion, use mutexes where needed. Don't wait for operation completion for volume changes, they can happen asynchronously too.
2007-12-10Backport the PulseAudio plugin from 1.2 branch.Diego 'Flameeyes' Pettenò
2007-11-10Delete most of the CVS $Id$/$Log$ lines.Darren Salt
--HG-- extra : transplant_source : %E0%D0%C5%8B%BEU%DD%24%5D7%1F%ADV%AD%EB%23%CBU%80%EB
2007-11-09Update FSF address on non-contributed code and COPYING files.Diego 'Flameeyes' Pettenò
For contributed code, leave whatever the version we last synced for is using to make simpler future syncs.
2007-04-01Try to improve response when the plugin can't connect to PulseAudio. ↵Diego 'Flameeyes' Pettenò
Unfortunately if the server dies during playback xine will be too messed up to recover. This is the same issue as unplugged USB devices, it requires a proper generic handling of these cases. CVS patchset: 8779 CVS date: 2007/04/01 00:32:29
2007-03-31Set the volume of the stream to 100% by default.Diego 'Flameeyes' Pettenò
CVS patchset: 8778 CVS date: 2007/03/31 22:06:54
2007-03-31Lock/Unlock on opening.Diego 'Flameeyes' Pettenò
CVS patchset: 8777 CVS date: 2007/03/31 21:22:58
2007-03-31Implement AO_PROP_MUTE_VOL (both set and get), and cleanup the setter and ↵Diego 'Flameeyes' Pettenò
getter methods, returning the correct value in case the property is not implemented. CVS patchset: 8776 CVS date: 2007/03/31 21:16:22
2007-03-31Add a mutex on all PulseAudio operations, PA is thread-safe by itself, but ↵Diego 'Flameeyes' Pettenò
xine's plugin wasn't, this caused race conditions similar to the old ones with ALSA output. Also instead of copying two pointers (three with the mutex) from the class to the output instance, just copy a pointer to the class. CVS patchset: 8775 CVS date: 2007/03/31 20:58:51
2007-03-17Use the Native Endian variants for 16 and 32 bit samples.Diego 'Flameeyes' Pettenò
CVS patchset: 8709 CVS date: 2007/03/17 20:57:59
2007-02-03Remove a debug output.Diego 'Flameeyes' Pettenò
CVS patchset: 8584 CVS date: 2007/02/03 10:46:14
2007-02-03Remove the state callbacks, it's simpler to just wait a bit for the ↵Diego 'Flameeyes' Pettenò
connection, as that's just what is going on those given moments, and avoids stray signals along the way. CVS patchset: 8583 CVS date: 2007/02/03 10:45:02
2007-02-03Restructure the plugin a bit: create the mainloop and the context ↵Diego 'Flameeyes' Pettenò
immediately on class load, this way they will be shared by all PulseAudio outputs; connect to the context when opening the output device, rather than the first time you play the stream (this way avoids latency while playing multiple tracks). The result is only one connection is present for xine instance, even if multiple streams are called on it. CVS patchset: 8582 CVS date: 2007/02/03 10:41:09
2007-02-02Replace assert() calls with _x_assert().Diego 'Flameeyes' Pettenò
CVS patchset: 8581 CVS date: 2007/02/02 23:45:23
2007-02-02We don't need to lock anymore as we're using the threaded mainloop, that ↵Diego 'Flameeyes' Pettenò
already is taking care of serialising calls. CVS patchset: 8580 CVS date: 2007/02/02 23:43:01
2007-02-02Make use of threaded mainloop rather than calling it manually, this makes ↵Diego 'Flameeyes' Pettenò
xine not lock up if a pulseaudio connection can't be established. CVS patchset: 8579 CVS date: 2007/02/02 23:36:57
2006-11-10Allow PulseAudio to receive 4.0, 4.1, 5.0 and 5.1 audio.Diego 'Flameeyes' Pettenò
CVS patchset: 8366 CVS date: 2006/11/10 12:10:54
2006-10-13Use __progname to pass the client name to pulseaudio, this way xine, Amarok ↵Diego 'Flameeyes' Pettenò
and Kaffeine won't simply report "xine" as name and be undistinguished. CVS patchset: 8341 CVS date: 2006/10/13 23:24:54
2006-09-08update latency querying to the new apiMiguel Freitas
CVS patchset: 8206 CVS date: 2006/09/08 19:47:56
2006-07-16malloc cleanups (based on a patch from Chris Brien).Darren Salt
Also use asprintf() where appropriate, since we now have our own version for where it's not present. CVS patchset: 8130 CVS date: 2006/07/16 16:18:09
2006-07-11Start implementing a pulseaudio output plugin, based on the previous ↵Diego 'Flameeyes' Pettenò
polypaudio plugin. Right now delays don't work (yet), but the rest of it should. CVS patchset: 8114 CVS date: 2006/07/11 05:20:31