summaryrefslogtreecommitdiff
path: root/src/xine-engine/audio_out.c
AgeCommit message (Collapse)Author
2003-12-24thanks to Carsten Weinhold for finding and fixing this:Michael Roitzsch
pthread locks are _not_ fair (shocking news for me), so audio out has a problem: the audio out loop holds the driver_lock almost always (since the write() to the driver takes most of the time); other threads who want that lock (like the frontend trying to change the volume) can starve; the problem shows on kernel 2.6 with NPTL, but the potential is there in all pthread implementations CVS patchset: 5938 CVS date: 2003/12/24 13:06:10
2003-12-12Fix using va_arg without explicit NULL 'terminator'Daniel Caujolle-Bert
CVS patchset: 5892 CVS date: 2003/12/12 01:44:39
2003-12-10i guess this xprintf must be enclosed in a testMiguel Freitas
CVS patchset: 5889 CVS date: 2003/12/10 20:51:01
2003-12-07get rid of XINE_{ASSERT,ABORT} and useless xine_print_trace (useless). ↵Daniel Caujolle-Bert
Replace XINE_ASSERT by _x_assert, which works exaclty as assert, except that it still warns with NDEBUG defined (but don't abort). Fix missuning of assert(0), which isn't safe, abort is abort, assert is for debugging purpose only, so all assert(0) has been converted to abort() alls. In osd_preload_fonts(): alloc needed memory chunk. Define NDEBUG in CFLAGS, for non DEBUG build only. CVS patchset: 5860 CVS date: 2003/12/07 15:34:29
2003-12-05cleanup phase II. use xprintf when it's relevant, use xine_xmalloc when it's ↵Daniel Caujolle-Bert
relevant too. Small other little fix (can't remember). Change few internal function prototype because it xine_t pointer need to be used if some xine's internal sections. NOTE: libdvd{nav,read} is still too noisy, i will take a look to made it quit, without invasive changes. To be continued... CVS patchset: 5844 CVS date: 2003/12/05 15:54:56
2003-12-03export mode_channels as an internal functionMarco Zuehlke
CVS patchset: 5828 CVS date: 2003/12/03 10:24:41
2003-11-26lprintf cleanup, pass I.Daniel Caujolle-Bert
CVS patchset: 5796 CVS date: 2003/11/26 19:43:26
2003-11-16New stream/meta info (safe) stuff.Daniel Caujolle-Bert
BIG NOTE: use helpers to access to these informations (get/set/reset): _x_{stream,meta}_info_{get,set,reset}() are for internal use, don't use *_public() ones from inside the beast ;-) Some wrongly names "xine_" fonction renaming. CVS patchset: 5757 CVS date: 2003/11/16 23:33:42
2003-11-16actually not every engine file uses internals, so we do not need to defineMichael Roitzsch
XINE_ENGINE_INTERNAL for every file CVS patchset: 5753 CVS date: 2003/11/16 15:41:15
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-30* modify the engine slightly, so that the stream member in a video frame orMichael Roitzsch
audio buffer can be NULL; this should be used to indicate that the frame/ buffer does not come directly from a stream, but was generated otherwise (the most important result is that frames/buffers with stream NULL will not be passed through metronom) * modify visualization post plugins so they set the stream on the generated frames to NULL, this avoids cluttering metronom, when playing a stream with audio AND video AND a visualization post * this also means modifying the way post plugins provide vpts values: they have to calculate them themselves for now CVS patchset: 5647 CVS date: 2003/10/30 22:40:53
2003-10-06Ooops, I resolved the last conflict in this file wronglyMichael Roitzsch
CVS patchset: 5454 CVS date: 2003/10/06 13:09:52
2003-10-06from the AO_PROP_CLOSE_DEVICE case branch, ret would be returned uninitializedMichael Roitzsch
CVS patchset: 5451 CVS date: 2003/10/06 12:43:08
2003-10-03Let the sound driver do the locking for mixer volume, instead of audio_out ↵James Courtier-Dutton
engine. CVS patchset: 5429 CVS date: 2003/10/03 17:39:43
2003-09-13fix ao/vo flush while paused (it would freeze the engine).Miguel Freitas
CVS patchset: 5366 CVS date: 2003/09/13 16:15:38
2003-09-04still fighting the same bug. now i must have killed it :)Miguel Freitas
(unfortunately it takes hours of testing to reproduce...) CVS patchset: 5341 CVS date: 2003/09/04 13:56:23
2003-09-04this should complete the fix for more than 1 flush at the same timeMiguel Freitas
CVS patchset: 5338 CVS date: 2003/09/04 00:21:09
2003-09-03cool... a deadlock ;)Miguel Freitas
CVS patchset: 5337 CVS date: 2003/09/03 21:17:58
2003-09-03fix freeze condition (more than 1 flush at the same time)Miguel Freitas
CVS patchset: 5336 CVS date: 2003/09/03 16:38:48
2003-09-01Add proper support for 4.1 and 5 channel setups.James Courtier-Dutton
For 4.1, the output comes out on 3 stereo jacks, but the Center has been mixed with the Front speakers. For 5, the LFE channel has been dropped. CVS patchset: 5324 CVS date: 2003/09/01 04:08:41
2003-08-29that must fix some crashes people have reported meMiguel Freitas
CVS patchset: 5318 CVS date: 2003/08/29 20:35:44
2003-08-26add a mechanism to force closing audio device without stoping stream.Miguel Freitas
this is useful for (1) pausing the playback, (2) let another application use the sound card, and then (3) unpause it again. also add new "format" field to audio buffer (just like we have for frames) CVS patchset: 5312 CVS date: 2003/08/26 21:18:32
2003-07-26Stop asserts happening on underruns.James Courtier-Dutton
Delay support for USB hotplug until linux kernel supports it better. CVS patchset: 5213 CVS date: 2003/07/26 00:27:20
2003-07-20OSS never return 1, but write() length.Daniel Caujolle-Bert
CVS patchset: 5201 CVS date: 2003/07/20 19:28:14
2003-07-20More USB soundcard updates.James Courtier-Dutton
CVS patchset: 5199 CVS date: 2003/07/20 12:29:18
2003-07-20Improve playback on USB sound cards.James Courtier-Dutton
These changes improve xine's response to the removal of a USB cable while playing audio. Further changes will need to happen so as to allow sound output to continue when the USB cable is plugged back in, without having to stop the media stream. To enable that, when xine detects that the sound card is not there any more, it will have to close both pcm and mixer, so that the kernel can release USB resources, then when the USB cable is plugged back in, the pcm and mixer are opened again. This code might also modify what xine does in underrun situations, so this code might need to be changed again. CVS patchset: 5196 CVS date: 2003/07/20 10:34:29
2003-07-02Metronom does the pts prediction now, not the decoders.James Courtier-Dutton
CVS patchset: 5123 CVS date: 2003/07/02 23:10:21
2003-06-22some additional pthread_*_destroy() callsMichael Roitzsch
(based on the implementation, this might fix memleaks on some platforms, although I doubt that this is the case here) CVS patchset: 5091 CVS date: 2003/06/22 17:10:41
2003-06-20the new logging macros, for details see README.loggingMarco Zuehlke
CVS patchset: 5077 CVS date: 2003/06/20 20:57:28
2003-06-17Protect this->discard_buffers and this->flush_audio_driver with a mutex.Thibaut Mattern
Replace the "while usleep" loop by a pthread_cond_t. CVS patchset: 5058 CVS date: 2003/06/17 18:53:14
2003-06-02patch by Tim to kill the #ifdefs, replacing them with more portableMichael Roitzsch
PRI64d define from inttypes.h (looks like C99 requires these defines) CVS patchset: 5001 CVS date: 2003/06/02 16:52:20
2003-05-25audio_step is a 64 bits integer in the metronom (pts_per_smpls), use the ↵Thibaut Mattern
same type here. CVS patchset: 4939 CVS date: 2003/05/25 21:34:59
2003-05-24Remove pointless if statementJames Stembridge
CVS patchset: 4918 CVS date: 2003/05/24 10:53:47
2003-05-24Revert previous commit that added checks for the driver being open before ↵James Stembridge
writing silence to the driver CVS patchset: 4917 CVS date: 2003/05/24 10:49:06
2003-05-24Wait for audio out loop to be blocked on empty fifo before closing driver ↵James Stembridge
rather than just waiting for fifo to be empty CVS patchset: 4916 CVS date: 2003/05/24 10:35:48
2003-04-22Additional changes for win32/msvc port; This is my first real commit so ↵Tim Champagne
please be gentle with me; Everything builds except for the win32 ui CVS patchset: 4650 CVS date: 2003/04/22 23:30:29
2003-04-21driver might get closed while filling gap so check it is open before writingJames Stembridge
CVS patchset: 4645 CVS date: 2003/04/21 00:25:55
2003-04-20merging in win32 portGuenter Bartsch
CVS patchset: 4643 CVS date: 2003/04/20 21:13:21
2003-04-18equalizer apiGuenter Bartsch
CVS patchset: 4637 CVS date: 2003/04/18 20:04:26
2003-04-18a simple 10-band equalizer - public interface not there yetGuenter Bartsch
CVS patchset: 4635 CVS date: 2003/04/18 03:00:33
2003-04-15completely seperate amp and compress filtersGuenter Bartsch
CVS patchset: 4616 CVS date: 2003/04/15 17:52:36
2003-04-13make compressor disabled by default. it was burning cpu ciclesMiguel Freitas
after setting AMP level. played a xvid+ac3 stream measuring function time with oprofile: audio_filter_amp_compress 64.63% (relative to total libxine.so time) for comparison: xine_fast_memcpy 13.27% CVS patchset: 4609 CVS date: 2003/04/13 22:19:08
2003-04-11fix long standing fastforward bug.Miguel Freitas
symptom: video fifo get empty, playback gets sluggish, lot of cpu unused. bug 687526 CVS patchset: 4586 CVS date: 2003/04/11 02:04:29
2003-04-02- remove unneeded use of pthread_exit(NULL). We do not have any cleanupBastien Nocera
handlers, so we can just use "return NULL" instead. CVS patchset: 4533 CVS date: 2003/04/02 12:28:08
2003-03-28audio_out loop can go much ahead of video_out (remember driver delay).Miguel Freitas
imho it doesn't seem right to compare in_buf->extra_info->vpts here CVS patchset: 4502 CVS date: 2003/03/28 13:15:27
2003-03-25only wait for empty audio fifo when really necessaryMichael Roitzsch
CVS patchset: 4477 CVS date: 2003/03/25 12:48:04
2003-03-10- rework audio_out.c so thread is created only onceMiguel Freitas
- multiple streams can open the same port and driver's settings are updated if sound source changes - callback for av_sync_method CVS patchset: 4392 CVS date: 2003/03/10 23:31:17
2003-03-08implement XINE_PARAM_AUDIO_AMP_LEVEL so xine's volume can be set ↵Guenter Bartsch
independantly from other applications CVS patchset: 4384 CVS date: 2003/03/08 20:25:51
2003-03-08confusionMichael Roitzsch
CVS patchset: 4380 CVS date: 2003/03/08 17:24:22
2003-03-06- less verbosity, thanks GuenterBastien Nocera
CVS patchset: 4349 CVS date: 2003/03/06 23:30:36