summaryrefslogtreecommitdiff
path: root/src/audio_out
AgeCommit message (Collapse)Author
2007-12-10Don't run the infinite loop when checking operations.Diego 'Flameeyes' Pettenò
Instead a condition is signalled when adding new entries, and waited for if no entries are present.
2007-12-10Remove pa_mutex, with the new threaded wait_for_operation there seems to be ↵Diego 'Flameeyes' Pettenò
no more race conditions.
2007-12-10Don't use cork/uncork calls to handle pause and resume.Diego 'Flameeyes' Pettenò
2007-12-10Replace wait_for_operation() with a threaded version to avoid race conditions.Diego 'Flameeyes' Pettenò
Note that the code is incomplete: the infinite loop without sleep will create unneeded wakeups and waste resources.
2007-12-03Merge from 1.1.Darren Salt
--HG-- rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c
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-10Merge from 1.1.Darren Salt
--HG-- rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmad/xine_mad_decoder.c => src/libxineadec/xine_mad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
2007-11-09Merge FSF address changes from 1.1 branch.Diego 'Flameeyes' Pettenò
--HG-- rename : src/combined/decoder_flac.c => src/combined/flac_decoder.c rename : src/combined/demux_flac.c => src/combined/flac_demuxer.c rename : src/libxineadec/nsf.c => src/combined/nsf_decoder.c rename : src/demuxers/demux_nsf.c => src/combined/nsf_demuxer.c rename : src/combined/combined_wavpack.c => src/combined/wavpack_combined.c rename : src/combined/combined_wavpack.h => src/combined/wavpack_combined.h rename : src/combined/decoder_wavpack.c => src/combined/wavpack_decoder.c rename : src/combined/demux_wavpack.c => src/combined/wavpack_demuxer.c rename : src/demuxers/demux_ogg.c => src/combined/xine_ogg_demuxer.c rename : src/libxineadec/xine_speex_decoder.c => src/combined/xine_speex_decoder.c rename : src/libxinevdec/xine_theora_decoder.c => src/combined/xine_theora_decoder.c rename : src/libxineadec/xine_vorbis_decoder.c => src/combined/xine_vorbis_decoder.c rename : src/liba52/xine_a52_decoder.c => src/libxineadec/xine_a52_decoder.c rename : src/libdts/xine_dts_decoder.c => src/libxineadec/xine_dts_decoder.c rename : src/libfaad/xine_faad_decoder.c => src/libxineadec/xine_faad_decoder.c rename : src/libmusepack/xine_musepack_decoder.c => src/libxineadec/xine_musepack_decoder.c
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-15Use the same type for l and size.Diego 'Flameeyes' Pettenò
2007-06-15Use unsigned int when proper.Diego 'Flameeyes' Pettenò
2007-06-15Fix signedness of sample_rate.Diego 'Flameeyes' Pettenò
2007-06-12A nice simple merge from 1.1.Darren Salt
Hopefully, I've applied all of the $(LTLIBINTL) changes correctly...
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-09Remove unused and orphan label and code.Diego 'Flameeyes' Pettenò
2007-06-08Add two missing alloca.h includes and clean up one other.Darren Salt
2007-06-06Remove aRTs output plugin.Diego 'Flameeyes' Pettenò
ALSA's DMix can allow to run both xine and aRTs at the same time for Linux, and if other operating systems lacks a proper software mixing facility you can consider alternative daemons. Note: aRTs will not be present in KDE 4.
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-06-04Merge Matthias Kretz's changes.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-06-04Mark audiocs_rates static and const.Diego 'Flameeyes' Pettenò
2007-06-04Remove redundant nested #ifdef __svr4__.Diego 'Flameeyes' Pettenò
2007-05-12More configure/Makefile cleanupsMatt Messier
-- Make a pass at cleaning up contrib/ Makefile.am files -- Rename many AM_CONDITIONALS for consistency and give them better names to better indicate what they mean -- Remove some dead input plugin tests -- Clean up AM_PATH_DVDNAV
2007-05-11Another pass at cleaning up Makefile.am files. More to come.Matt Messier
2007-05-08RIP: AC_OPTIMIZATIONSMatt Messier
-- Removed m4/optimizations.m4, and along with it, AC_OPTIMIZATIONS. -- Stripped down, cleaned up, and merged the former together with other compiler characteristic checks. -- Do not set any optimization flags into CFLAGS. Update all Makefile.am's with proper AM_CFLAGS, AM_CPPFLAGS, AM_LDFLAGS, etc. to set up optimization flags, usually from DEFAULT_OCFLAGS. -- Start cleaning up CFLAGS/CPPFLAGS stuff in Makefile.am's all over the place. -- Correct a number of places where CFLAGS itself was being mangled in Makefile to on-the-fly adjust optimizations to work around compiler bugs. This stuff is now done correctly. -- The run of automake from autogen.sh is now clean of warnings. -- Cleaned out some (now) dead macros from m4/_xine.m4 -- Mac OS X intel builds out-of-the-box now -- dropped optimization on post/deinterlace/plugins/kdetv-greedyh to O1_CFLAGS. -- OBJCFLAGS is now getting set correctly everywhere that it needs to be -- Various other miscellaneous cleanups all over
2007-04-07Merge changes from main repository.Diego 'Flameeyes' Pettenò
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