summaryrefslogtreecommitdiff
path: root/src/xine-engine/audio_out.c
AgeCommit message (Collapse)Author
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
2003-02-28Xine assert() replacement:Stephen Torri
All assert() function calls, with exceptions of libdvdread and libdvdnav, have been replaced with XINE_ASSERT. Functionally XINE_ASSERT behaves just likes its predecesor but its adding the ability to print out a stack trace at the point where the assertion fails. So here are a few examples. assert (0); This use of assert was found in a couple locations most favorably being the default case of a switch statement. This was the only thing there. So if the switch statement was unable to find a match it would have defaulted to this and the user and the developers would be stuck wonder who died and where. So it has been replaced with XINE_ASSERT(0, "We have reach this point and don't have a default case"); It may seem a bit none descriptive but there is more going on behind the scene. In addition to checking a condition is true/false, in this case '0', the XINE_ASSERT prints out: <filename>:<function name>:<line number> - assertion '<assertion expression>' failed. <description> An example of this might be: input_dvd.c:open_plugin:1178 - assertion '0' failed. xine_malloc failed!!! You have run out of memory XINE_ASSERT and its helper function, print_trace, are found in src/xine-utils/xineutils.h CVS patchset: 4301 CVS date: 2003/02/28 02:51:47
2003-02-22update extra info (for slider movement) in stills with audioMichael Roitzsch
CVS patchset: 4248 CVS date: 2003/02/22 14:18:16
2003-02-21disable debug outputGuenter Bartsch
CVS patchset: 4226 CVS date: 2003/02/21 02:05:12
2003-02-16whoups, sorry for that noiseGuenter Bartsch
CVS patchset: 4176 CVS date: 2003/02/16 20:16:01
2003-02-16small bugfix, buffer was released to early when no resampling is doneGuenter Bartsch
CVS patchset: 4175 CVS date: 2003/02/16 19:56:12
2003-02-06first pass on cleaning up ao/vo properties and flush stuffMiguel Freitas
CVS patchset: 4110 CVS date: 2003/02/06 00:09:19
2003-02-02- remove LOG from audio_out.c, fix backing up the configfile if there's no ↵Bastien Nocera
configfile to save, and if there's already a backup file CVS patchset: 4087 CVS date: 2003/02/02 12:33:23
2003-02-01adding flush-mode so seek() and play() work for video processing (enix)Guenter Bartsch
CVS patchset: 4080 CVS date: 2003/02/01 19:22:30
2003-01-30new av sync method by audio resample (patch by Carsten Weinhold)Miguel Freitas
CVS patchset: 4049 CVS date: 2003/01/30 20:40:42
2003-01-13do not dispose audio and video ports on stream dispose.Miguel Freitas
CVS patchset: 3906 CVS date: 2003/01/13 23:02:41
2003-01-11introducing a new, very low-impact aproach on implementing a video ↵Guenter Bartsch
processing api CVS patchset: 3875 CVS date: 2003/01/11 19:06:52
2003-01-11brand-new external subtitles support. (yes, it works!)Miguel Freitas
tested with asf, avi and mpeg but any media should work. todo: - clean up the master/slave stuff and public api. - implement seeking on demux_sputext.c (it must seek to closest subtitle) - general cleaning up and bugfixing CVS patchset: 3860 CVS date: 2003/01/11 03:47:01
2003-01-10protect update of current_extra_infoMiguel Freitas
CVS patchset: 3854 CVS date: 2003/01/10 19:15:16
2003-01-09- can't use HAS_VIDEO/HAS_AUDIO at this stage because some demuxers will onlyMiguel Freitas
set it on send_headers. also daniel convinced me that xine does "handle a no audio stream" - fix audio_out.c to abort filling with zero on seeking/stop/quit. CVS patchset: 3840 CVS date: 2003/01/09 02:44:39
2002-12-27quite experimental changes on post plugin api to enable rewiringMiguel Freitas
of streams. Michael, please let me know if you have a better idea! :) CVS patchset: 3689 CVS date: 2002/12/27 03:40:07
2002-12-26- cleanup internal interfaces for rewiringMiguel Freitas
- fix UI_PLAYBACK_FINISHED rifle CVS patchset: 3686 CVS date: 2002/12/26 21:53:41
2002-12-24discard buffers on flush so decoder will return faster. seeking should beMiguel Freitas
faster as well. (on a problematic stream i have, seeking time was reduced from 2.5s to 0.8s) CVS patchset: 3665 CVS date: 2002/12/24 14:00:55
2002-12-22flush/seeking overhauledMiguel Freitas
- move frame discarding to inside the output loopss. it is much safer to manipulate fifos from there avoiding any races. - do not reject audio frames because vpts is smaller than previous. it might happen on seeking but it's ok, because the sound driver may have being flushed too. - fix xine_demux_flush_engine so it doesn't call output flush too early - remove scr adjusting please report any problems... CVS patchset: 3639 CVS date: 2002/12/22 23:30:29
2002-12-21minor comment updateMiguel Freitas
CVS patchset: 3608 CVS date: 2002/12/21 16:12:25
2002-12-21- add buf->decoder_info_ptr: portability for systems where pointer hasMiguel Freitas
different sizeof than integer. - add extra_info structure to pass informations from input/demuxers down to the output frame. this can be used, for example, to pass the frame number of a frame (when known by decoder). also, immediate benefict is that we now have a slider which really shows the current position of the playing stream. new fields can be added to extra_info keeping binary compatibility - bumpy everybody's api versions CVS patchset: 3603 CVS date: 2002/12/21 12:56:44
2002-12-14The solaris pthread_cond_init() man page tells me:Juergen Keil
Attempting to initialize an already initialized condition variable results in undefined behavior. fifo->not_empty was initialized in fifo_new(); there should be no need to re-initialize it in fifo_remove_int().. CVS patchset: 3519 CVS date: 2002/12/14 16:33:59
2002-12-14ao_fill_gap() must be called with the driver_lock unlocked, becauseJuergen Keil
ao_fill_gap() locks the driver, too ==> deadlock CVS patchset: 3518 CVS date: 2002/12/14 16:17:57
2002-12-06nothing here (just small debug message updates)Miguel Freitas
CVS patchset: 3431 CVS date: 2002/12/06 01:13:15
2002-12-01avoid overflowGuenter Bartsch
CVS patchset: 3394 CVS date: 2002/12/01 01:32:47
2002-11-30just now i realized the wrong underlying assumption i did in metronom: fixingMiguel Freitas
audio drift the same way i did for video doesn't work, since sound card won't play it slower or faster because of the vpts's. with this patch i hope to have definitely separated the 2 sources of audio drift: (1) nominal sample rate discrepancy to stream pts, (2) sound card drift to system clock. - revert feedback audio loop - updated metronom's audio drift - always do a full gap filling if needed CVS patchset: 3392 CVS date: 2002/11/30 22:09:42
2002-11-27experimental change in handling of sound clock drifting (relative to the ↵Heiko Schaefer
vpts values ...) this seems to work quite well on my test mpeg1 streams. otherwise untested CVS patchset: 3384 CVS date: 2002/11/27 23:13:09
2002-11-20engine modifications to allow post plugin layer:Michael Roitzsch
* new public output interface xine_{audio,video}_port_t instead of xine_{ao,vo}_driver_t, old names kept as aliases for compatibility * modified the engine to allow multiple streams per output * renaming of some internal structures according to public changes * moving SCR out of per-stream-metronom into a global metronom_clock_t residing in xine_t and therefore easily available to the output layer * adapting all available plugins (note to external projects: the compiler will help you a lot, if a plugin compiles, it is adapted, because all changes add new parameters to some functions) * bump up all interface versions because of xine_t and xine_stream_t changes CVS patchset: 3312 CVS date: 2002/11/20 11:57:38
2002-11-18set default audio.passthrough_offset to 0Heiko Schaefer
CVS patchset: 3295 CVS date: 2002/11/18 15:53:31
2002-11-12even more agressive consistency checkingGuenter Bartsch
CVS patchset: 3249 CVS date: 2002/11/12 17:55:48
2002-11-12use xmalloc instead of malloc so memory footprint can be easily traced and ↵Guenter Bartsch
memory is blanked CVS patchset: 3247 CVS date: 2002/11/12 16:52:33
2002-11-12fix buffer leakage in ao_loop, re-introduce lock around all driver ↵Guenter Bartsch
functions, try to avoid deadlocks when exiting ao_loop, clean up code CVS patchset: 3245 CVS date: 2002/11/12 00:15:08
2002-11-11A try to fix ao_flush() loopThibaut Mattern
CVS patchset: 3243 CVS date: 2002/11/11 23:41:25
2002-11-07this fixes a52 passthrough on my system (sblive 5.1 oss driver)Heiko Schaefer
CVS patchset: 3199 CVS date: 2002/11/07 22:39:55
2002-11-06fix stream ending deadlock without audio driverDaniel Caujolle-Bert
CVS patchset: 3196 CVS date: 2002/11/06 23:20:45
2002-10-29engine improvementsMichael Roitzsch
- output fifo flushing - more sophisticated discontinuity handling - seek improvement by waiting for at least one frame CVS patchset: 3089 CVS date: 2002/10/29 16:02:43
2002-10-24fix identiation, implement an audio compressor filter (yeah, i know a big ↵Guenter Bartsch
concept for audio filter plugins is needed but sorry, this has been on my todo-list for too long) CVS patchset: 2990 CVS date: 2002/10/24 17:51:30
2002-10-20win32 decoder adapted to new apiGuenter Bartsch
CVS patchset: 2874 CVS date: 2002/10/20 15:56:27
2002-10-18A52 audio is now output without volume set to 0 or off. :-)James Courtier-Dutton
Config entries not enabled yet. Possible multiple stream issues. CVS patchset: 2849 CVS date: 2002/10/18 14:20:58
2002-10-18Move alsa audio over to new api.James Courtier-Dutton
CVS patchset: 2848 CVS date: 2002/10/18 13:13:30
2002-10-14introduction of xine_stream_t and async xine events - all still in developementGuenter Bartsch
CVS patchset: 2828 CVS date: 2002/10/14 15:46:48
2002-10-12Bind the audio_out thread to a separate LWP on solaris 8 (like video_out,Juergen Keil
video_decoder and audio_decoder) CVS patchset: 2819 CVS date: 2002/10/12 19:20:02