summaryrefslogtreecommitdiff
path: root/src/audio_out
AgeCommit message (Collapse)Author
2008-03-12Cope with NetBSD, which apparently doesn't have SNDCTL_DSP_GETODELAY.Darren Salt
(Fall back on SNDCTL_DSP_GETOPTR.)
2008-02-15Don't unlock unconditionally the mainloop on failure.Diego 'Flameeyes' Pettenò
2008-01-01Avoid potential install-time mislinkage against libxine.so.2.Darren Salt
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-12-02Fixed ALSA close function to not discard all data that had been written but ↵Matthias Kretz
not played yet. When closing the pcm device make sure that everything that was written to the device actually gets played. This was the race we were seeing with Ogg Vorbis and wav playback where a delayed driver->close would fix playback. Notice that blocking mode needs to be used for snd_pcm_drain, otherwise the call would be a noop.
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-06-16Rename the BE/LE/ME macros with a _X_ prefix, so they don't clash with ↵Diego 'Flameeyes' Pettenò
Solaris definitions.
2007-06-09Add $(LTLIBINTL) wherever objdump -R shows a dependency on gettext functions.Darren Salt
Some plugins may have been missed due to them not being built here.
2007-06-08Add two missing alloca.h includes and clean up one other.Darren Salt
2007-06-04handle unplugged devices in audio_alsa_out (return -1) and in audio_out ↵Matthias Kretz
close the driver on a return value <0
2007-04-07Use CC_ATTRIBUTE_FORMAT; replace __attribute((format(printf, ...))) accordingly.Darren Salt
2007-04-06Remove executable status from all files which shouldn't have it.Darren Salt
2007-04-06Remove a redundant comment.Diego 'Flameeyes' Pettenò
2007-04-06Use xineplug_LTLIBRARIES wherever possible.Diego 'Flameeyes' Pettenò
2007-04-05Fixed current audio sync, delay was always 0.Thibaut Mattern
Checked snd_pcm_delay return code, and don't trust negative values.
2007-04-04Use size_t for samples and seconds data in Sun audio plugin.Pascal S. de Kloe
2007-04-04Check for audio_info_t.output_muted member, rather than assuming it's not ↵Diego 'Flameeyes' Pettenò
available on NetBSD only. With this, it's not needed to check for OpenBSD too. Thanks to Pascal S. de Kloe for pointing at it.
2007-04-03Rationalise use of .hgignore, removes a bunch of files that only ignored ↵Diego 'Flameeyes' Pettenò
automake-related files.
2007-04-02Migrate all .cvsignore files to .hgignore.Diego 'Flameeyes' Pettenò
--HG-- rename : .cvsignore => .hgignore rename : doc/.cvsignore => doc/.hgignore rename : doc/faq/.cvsignore => doc/faq/.hgignore rename : doc/hackersguide/.cvsignore => doc/hackersguide/.hgignore rename : doc/man/.cvsignore => doc/man/.hgignore rename : doc/man/en/.cvsignore => doc/man/en/.hgignore rename : include/.cvsignore => include/.hgignore rename : intl/.cvsignore => intl/.hgignore rename : lib/.cvsignore => lib/.hgignore rename : m4/.cvsignore => m4/.hgignore rename : misc/.cvsignore => misc/.hgignore rename : misc/fonts/.cvsignore => misc/fonts/.hgignore rename : po/.cvsignore => po/.hgignore rename : src/.cvsignore => src/.hgignore rename : src/audio_out/.cvsignore => src/audio_out/.hgignore rename : src/combined/.cvsignore => src/combined/.hgignore rename : src/demuxers/.cvsignore => src/demuxers/.hgignore rename : src/dxr3/.cvsignore => src/dxr3/.hgignore rename : src/input/.cvsignore => src/input/.hgignore rename : src/input/dvb/.cvsignore => src/input/dvb/.hgignore rename : src/input/libdvdnav/.cvsignore => src/input/libdvdnav/.hgignore rename : src/input/libreal/.cvsignore => src/input/libreal/.hgignore rename : src/input/librtsp/.cvsignore => src/input/librtsp/.hgignore rename : src/input/vcd/.cvsignore => src/input/vcd/.hgignore rename : src/input/vcd/libcdio/.cvsignore => src/input/vcd/libcdio/.hgignore rename : src/input/vcd/libcdio/MSWindows/.cvsignore => src/input/vcd/libcdio/MSWindows/.hgignore rename : src/input/vcd/libcdio/cdio/.cvsignore => src/input/vcd/libcdio/cdio/.hgignore rename : src/input/vcd/libcdio/image/.cvsignore => src/input/vcd/libcdio/image/.hgignore rename : src/input/vcd/libvcd/.cvsignore => src/input/vcd/libvcd/.hgignore rename : src/input/vcd/libvcd/libvcd/.cvsignore => src/input/vcd/libvcd/libvcd/.hgignore rename : src/liba52/.cvsignore => src/liba52/.hgignore rename : src/libdts/.cvsignore => src/libdts/.hgignore rename : src/libfaad/.cvsignore => src/libfaad/.hgignore rename : src/libfaad/codebook/.cvsignore => src/libfaad/codebook/.hgignore rename : src/libffmpeg/.cvsignore => src/libffmpeg/.hgignore rename : src/libffmpeg/libavcodec/.cvsignore => src/libffmpeg/libavcodec/.hgignore rename : src/libffmpeg/libavcodec/alpha/.cvsignore => src/libffmpeg/libavcodec/alpha/.hgignore rename : src/libffmpeg/libavcodec/armv4l/.cvsignore => src/libffmpeg/libavcodec/armv4l/.hgignore rename : src/libffmpeg/libavcodec/i386/.cvsignore => src/libffmpeg/libavcodec/i386/.hgignore rename : src/libffmpeg/libavcodec/libpostproc/.cvsignore => src/libffmpeg/libavcodec/libpostproc/.hgignore rename : src/libffmpeg/libavcodec/mlib/.cvsignore => src/libffmpeg/libavcodec/mlib/.hgignore rename : src/libffmpeg/libavcodec/ppc/.cvsignore => src/libffmpeg/libavcodec/ppc/.hgignore rename : src/libffmpeg/libavcodec/sparc/.cvsignore => src/libffmpeg/libavcodec/sparc/.hgignore rename : src/libffmpeg/libavutil/.cvsignore => src/libffmpeg/libavutil/.hgignore rename : src/libflac/.cvsignore => src/libflac/.hgignore rename : src/liblpcm/.cvsignore => src/liblpcm/.hgignore rename : src/libmad/.cvsignore => src/libmad/.hgignore rename : src/libmpeg2/.cvsignore => src/libmpeg2/.hgignore rename : src/libmpeg2new/.cvsignore => src/libmpeg2new/.hgignore rename : src/libmpeg2new/include/.cvsignore => src/libmpeg2new/include/.hgignore rename : src/libmpeg2new/libmpeg2/.cvsignore => src/libmpeg2new/libmpeg2/.hgignore rename : src/libmusepack/.cvsignore => src/libmusepack/.hgignore rename : src/libmusepack/musepack/.cvsignore => src/libmusepack/musepack/.hgignore rename : src/libreal/.cvsignore => src/libreal/.hgignore rename : src/libspeex/.cvsignore => src/libspeex/.hgignore rename : src/libspucc/.cvsignore => src/libspucc/.hgignore rename : src/libspucmml/.cvsignore => src/libspucmml/.hgignore rename : src/libspudec/.cvsignore => src/libspudec/.hgignore rename : src/libspudvb/.cvsignore => src/libspudvb/.hgignore rename : src/libsputext/.cvsignore => src/libsputext/.hgignore rename : src/libtheora/.cvsignore => src/libtheora/.hgignore rename : src/libvorbis/.cvsignore => src/libvorbis/.hgignore rename : src/libw32dll/.cvsignore => src/libw32dll/.hgignore rename : src/libw32dll/DirectShow/.cvsignore => src/libw32dll/DirectShow/.hgignore rename : src/libw32dll/dmo/.cvsignore => src/libw32dll/dmo/.hgignore rename : src/libw32dll/qtx/.cvsignore => src/libw32dll/qtx/.hgignore rename : src/libw32dll/qtx/qtxsdk/.cvsignore => src/libw32dll/qtx/qtxsdk/.hgignore rename : src/libw32dll/wine/.cvsignore => src/libw32dll/wine/.hgignore rename : src/libxineadec/.cvsignore => src/libxineadec/.hgignore rename : src/libxineadec/gsm610/.cvsignore => src/libxineadec/gsm610/.hgignore rename : src/libxineadec/nosefart/.cvsignore => src/libxineadec/nosefart/.hgignore rename : src/libxinevdec/.cvsignore => src/libxinevdec/.hgignore rename : src/post/.cvsignore => src/post/.hgignore rename : src/post/audio/.cvsignore => src/post/audio/.hgignore rename : src/post/deinterlace/.cvsignore => src/post/deinterlace/.hgignore rename : src/post/deinterlace/plugins/.cvsignore => src/post/deinterlace/plugins/.hgignore rename : src/post/goom/.cvsignore => src/post/goom/.hgignore rename : src/post/mosaico/.cvsignore => src/post/mosaico/.hgignore rename : src/post/planar/.cvsignore => src/post/planar/.hgignore rename : src/post/visualizations/.cvsignore => src/post/visualizations/.hgignore rename : src/video_out/.cvsignore => src/video_out/.hgignore rename : src/video_out/libdha/.cvsignore => src/video_out/libdha/.hgignore rename : src/video_out/libdha/bin/.cvsignore => src/video_out/libdha/bin/.hgignore rename : src/video_out/libdha/kernelhelper/.cvsignore => src/video_out/libdha/kernelhelper/.hgignore rename : src/video_out/libdha/oth/.cvsignore => src/video_out/libdha/oth/.hgignore rename : src/video_out/libdha/sysdep/.cvsignore => src/video_out/libdha/sysdep/.hgignore rename : src/video_out/macosx/.cvsignore => src/video_out/macosx/.hgignore rename : src/video_out/vidix/.cvsignore => src/video_out/vidix/.hgignore rename : src/video_out/vidix/drivers/.cvsignore => src/video_out/vidix/drivers/.hgignore rename : src/xine-engine/.cvsignore => src/xine-engine/.hgignore rename : src/xine-utils/.cvsignore => src/xine-utils/.hgignore rename : win32/.cvsignore => win32/.hgignore rename : win32/include/.cvsignore => win32/include/.hgignore
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-22Fix crosscompile to use build and host definition from autoconf, rather than ↵Diego 'Flameeyes' Pettenò
using hacksaround. Also replace the whole pthread check with an improved macro originally written for XCB, this way it's not going to try linking the fake -lpthread on Darwin, and it also does not force a -I/usr/local/include on FreeBSD. The new macro respects the same variables set by ports, so that it's even more transparent to FreeBSD users. CVS patchset: 8739 CVS date: 2007/03/22 20:44:58
2007-03-19Don't assume that CoreAudio output is Big Endian (it is not on newer Mac ↵Diego 'Flameeyes' Pettenò
based on Intel CPUs). Patch by Martin Aumueller. CVS patchset: 8723 CVS date: 2007/03/19 23:48:58
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-03-17Clean up configure checks for OSS support. Check for the various soundcard.h ↵Diego 'Flameeyes' Pettenò
headers, and then include the best one that has been found on the system. Check for definition of SNDCTL_DSP_SETFRAGMENT in those headers. Check for the correct request parameter type for ioctl(), as also modern Linux uses unsigned long. Don't list all the big endian machines (as they aren't reliable to list anyway, some of them might work with both endians), use WORDS_BIGENDIAN instead. CVS patchset: 8697 CVS date: 2007/03/17 06:59:31
2007-03-16Fix FreeBSD PR 91728 (problem with ioctl() request parameter being unsigned ↵Diego 'Flameeyes' Pettenò
long rather than int). This patch is less invasive and portable. CVS patchset: 8676 CVS date: 2007/03/16 17:13:57
2007-03-10Don't use Solaris workarounds on other OSes (namely NetBSD). Patch by Sergey ↵Diego 'Flameeyes' Pettenò
Svishchev, see bug #1667848. CVS patchset: 8658 CVS date: 2007/03/10 00:55:14
2007-03-09Use OSS 3.0 API, and retain compatibility with older versions. Patch by ↵Diego 'Flameeyes' Pettenò
Albert Lee. CVS patchset: 8651 CVS date: 2007/03/09 23:56:42
2007-02-25alsa patches from Julian Scheel and Matthias KretzMiguel Freitas
CVS patchset: 8630 CVS date: 2007/02/25 22:33:25
2007-02-25Fix race condition in alsa audio out driver.Miguel Freitas
thanks Kirill Belokurov and Matthias Kretz CVS patchset: 8629 CVS date: 2007/02/25 21:54:03
2007-02-20Mark speaker arrangement array constant.Diego 'Flameeyes' Pettenò
CVS patchset: 8607 CVS date: 2007/02/20 00:04:50
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
2007-01-29Release stream and playback in ao_fusionsound_exit().Claudio Ciccani
CVS patchset: 8578 CVS date: 2007/01/29 14:39:59
2006-12-27Link to libxine when needed.Diego 'Flameeyes' Pettenò
CVS patchset: 8465 CVS date: 2006/12/27 22:14:45
2006-12-25The alsa audio output plugin uses threads, so link it correctly.Diego 'Flameeyes' Pettenò
CVS patchset: 8446 CVS date: 2006/12/25 18:32:54
2006-12-19Mark string-type configuration items according to whether they're plainDarren Salt
strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8425 CVS date: 2006/12/19 19:10:50
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-10-09Check for NULL pointers.Claudio Ciccani
More debugging messages. CVS patchset: 8331 CVS date: 2006/10/09 16:03:18
2006-09-21Build fixes (other version of external libcdio workaround, typo in DX aout).František Dvořák
CVS patchset: 8273 CVS date: 2006/09/21 15:01:08