summaryrefslogtreecommitdiff
path: root/src/xine-engine/audio_out.c
AgeCommit message (Collapse)Author
2004-12-19stop stream if audio device failed to open. user receives a notificationMiguel Freitas
and should check if any other application is using the device. CVS patchset: 7282 CVS date: 2004/12/19 20:24:30
2004-12-12huge patch ahead: reorganizing config entries with automatic conversionMichael Roitzsch
and backwards compatible translation Sorry, I got a litte tired proof-reading the patch, so their might be bugs lurking around. I will give it some further examination and (as necessary) fixing tomorrow. CVS patchset: 7233 CVS date: 2004/12/12 22:00:47
2004-11-10inc/dec the stream_t reference counterThibaut Mattern
see this thread http://thread.gmane.org/gmane.comp.video.xine.devel/11154 CVS patchset: 7111 CVS date: 2004/11/10 07:45:29
2004-10-16- Speed up amp set at 0%, add support for 8-bit sounds in the amplifierBastien Nocera
Fixes sound volume in Totem for: http://www.amayita.com/videos/01_Bar_Victoria.avi 24-bit amp support not implemented, still broken: ftp://ftp.mplayerhq.hu/MPlayer/samples/A-codecs/test-96.wav CVS patchset: 7041 CVS date: 2004/10/16 18:26:51
2004-09-26 - almost finalize headers refactoring needed for MSVC frontends (and for otherFrantišek Dvořák
poor platforms, of course) - fix a bug in generated xine-config for WIN32 and make it relocateable under Windows - MSVC port: update, fix some warnings, remove old unneeded files - improve function for getting runtime directory, it will need next fix yet (bug probably due to active volume drives) CVS patchset: 7001 CVS date: 2004/09/26 22:54:51
2004-09-01Improvements and implementing Michael's suggestions:František Dvořák
- new flags added at the end, so the users can override them properly - removed X11 libs and cflags from xine-config and libxine.pc - removed replacing for setenv (thanks to Robin for the hint) - better way for temporary disabling of w32dll module - data directories will be different on Windows - force installing catalogs with translation into XINE_LOCALEDIR - timer linked in xine-engine (just central place for linking such stuff) - adjusted load_plugins and remove reduntant WIN32 conditionals - removed unused $(lib_thr) CVS patchset: 6927 CVS date: 2004/09/01 18:19:49
2004-08-02no objections so far: committing the fine speed control patchMiguel Freitas
(in case of major trouble just revert the patch i sent to xine-devel) CVS patchset: 6871 CVS date: 2004/08/02 12:51:07
2004-07-06fix a long standing bug: streams were not played till their very end, becauseMiguel Freitas
finished event was sent to frontend before the output fifos were empty. add a test for the number of streams attached to the output port. this will prevent deadlocking on multi-streams scenarios where fifos don't ever get empty. CVS patchset: 6777 CVS date: 2004/07/06 22:53:22
2004-06-27only issue the warning on unavailable audio devices under the conditionMichael Roitzsch
(in_buf && in_buf->num_frames), otherwise, the dummy packet send by ao_exit() to wake up the audio out loop can trigger this message (because it has an undefined buf->format.rate, which, when 0 causes driver->open() to fail and the message gets emitted) we also send the message to the streams attached to this audio out only, not to all streams known to the engine CVS patchset: 6757 CVS date: 2004/06/27 13:33:57
2004-06-19modified patch from Reinhard Nissl to report the length of the out fifosMichael Roitzsch
CVS patchset: 6713 CVS date: 2004/06/19 20:07:15
2004-06-13implement steps 1, 2, 3 and 4 of the seeking proposal:Miguel Freitas
http://article.gmane.org/gmane.comp.video.xine.devel/9532 it is now up to demuxers to decide what the 0..65535 position means. demuxers tested: ogg, voc, flac, rm, asf, vqa, vob, avi, y4m, au, mov, ts, mp3, mpg, wav, ra, mve CVS patchset: 6686 CVS date: 2004/06/13 21:28:52
2004-05-29separate the two semantics of querying a port's status with a NULL stream;Michael Roitzsch
before, NULL could mean two things: no stream at all or a stream that does not want to be addressed; now the latter is represented by the new XINE_ANON_STREAM resulting changes: * the status() functions now behave differently for NULL and XINE_ANON_STREAM (as the commentary always implied, but this was not the case, so post plugin rewiring went wrong, because it relies on the status() function) * the NULL_STREAM defines in audio_out and video_out are obsolete * update the function comments in the headers * update the post plugin rewire functions to use the status() functions to check, if the old port was opened and handle the new one accordingly; this makes open_count obsolete * change all post plugins accordingly (mostly using XINE_ANON_STREAM instead of NULL) additional change: * the status() function of audio port now returns the bits/rate/mode values of the input and not the output; this is more likely to be what a post plugin wants * the reimplementation of status() in the upmix plugin is obsolete CVS patchset: 6603 CVS date: 2004/05/29 14:45:25
2004-05-21Don't wait if the flush already occured.Thibaut Mattern
Problem solved using a toxine script to stress seeking. CVS patchset: 6574 CVS date: 2004/05/21 13:41:02
2004-05-17Fix noises appearing when seeking and using the upmix plugin.James Courtier-Dutton
CVS patchset: 6561 CVS date: 2004/05/17 21:28:06
2004-05-16From: Reinhard Nissl.James Courtier-Dutton
Under certain circumstances, the result caused an overflow in 'num_frames', so that it could get negative. CVS patchset: 6556 CVS date: 2004/05/16 21:39:55
2004-05-15Some more updates for 24bit sound.James Courtier-Dutton
CVS patchset: 6545 CVS date: 2004/05/15 23:44:25
2004-04-27rename module nameDaniel Caujolle-Bert
CVS patchset: 6452 CVS date: 2004/04/27 20:46:26
2004-04-26help strings added for all remaining config entries (so I hope)Michael Roitzsch
please everybody watch out for spelling (and other) errors CVS patchset: 6442 CVS date: 2004/04/26 17:50:06
2004-04-07the patch to audio_out from 1.128 to 1.129 changed a calculation fromMichael Roitzsch
x = a / b + c to y = b + c x = a / y which is wrong and breaks the resampling sync method; changing to y = a / b x = y + c should fix; thanks to Carsten Weinhold for the patch CVS patchset: 6341 CVS date: 2004/04/07 18:07:25
2004-04-05- add XINE_MSG_AUDIO_OUT_UNAVAILABLE event to warn when the audio device isBastien Nocera
busy. CVS patchset: 6333 CVS date: 2004/04/05 20:01:24
2004-03-16while hanging in get_frame or get_buffer, we have to check for ticketMichael Roitzsch
renewal regularly to fulfill the ticket contract, which says: "assure to release or renew revocable tickets after a finite time" this patch also includes a small change to video out's flushing logic: we set last_delivery_pts into the future to avoid flushing again when the decoder does not react (stopped streams are otherwise being flushed all the time) CVS patchset: 6270 CVS date: 2004/03/16 12:25:05
2004-03-14Second fix for INT16_MIN/MAX under WIN32 (without stdint.h).František Dvořák
CVS patchset: 6261 CVS date: 2004/03/14 23:07:25
2004-03-14Replace stdint.h with inttypes.h.Robin KAY
CVS patchset: 6250 CVS date: 2004/03/14 13:45:54
2004-03-14Update WIN32 port:František Dvořák
- add stdint.h with INT16_MIN/MAX - apply forgotten change _MSC_VER -> HAVE_ICONV - get rid of some _MSC_VER - changed to WIN32 since it'll be used by MINGW too CVS patchset: 6249 CVS date: 2004/03/14 09:38:03
2004-03-08Limit software amp so that audio is not clipped.James Courtier-Dutton
CVS patchset: 6234 CVS date: 2004/03/08 18:33:54
2004-03-03use the _x_abort() macro instead of abort, since it prints some debug infoMichael Roitzsch
before aborting CVS patchset: 6211 CVS date: 2004/03/03 20:09:11
2004-02-12getting rid of AO_PROP_PAUSED, because it can be derived by asking the clockMichael Roitzsch
CVS patchset: 6136 CVS date: 2004/02/12 18:09:19
2004-01-07the new, refined post plugin architectureMichael Roitzsch
* post plugins are now much safer (fewer races/inconsistencies) and easier to write * all post plugins are ported to the new architecture (and should work) * ports can now be opened and closed with a NULL stream CVS patchset: 6007 CVS date: 2004/01/07 19:52:42
2004-01-01set_property() calls should return the value they setMichael Roitzsch
CVS patchset: 5968 CVS date: 2004/01/01 14:20:52
2003-12-31Add a mute feature to the software amp.James Courtier-Dutton
CVS patchset: 5967 CVS date: 2003/12/31 23:29:06
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