summaryrefslogtreecommitdiff
path: root/src/xine-engine/xine_internal.h
AgeCommit message (Collapse)Author
2008-06-11Provide a useful implementation of xine_register_log_cb().Darren Salt
2008-05-23Mark initialisation functions with malloc attribute.Diego 'Flameeyes' Pettenò
All the initialisation functions returning a new object instance that was allocated through malloc() or calloc() can get the malloc attribute so that the compiler can optimise their call.
2008-03-10Fixed long delay when closing stream on dual core systems [Bug #33]Miguel Freitas
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-07-13Prevent ticket system deadlock when using DVB subtitlesSimon Farnsworth
When using DVB subtitles on an SMP machine, we see occasional lockups, which appear to be caused by one thread acquiring the same ticket twice. Fix this, by preventing acquire() and release() from blocking if the current thread has already acquired the ticket. Code sequences like the following can still block in all acquires and releases: ticket->acquire(...) /* Do something */ ticket->release(...) However, code sequences like the following, which used to deadlock if ticket was revoked at just the wrong moment, now succeed: ticket->acquire(...) /* Do something */ ticket->acquire(...) /* This acquire cannot block */ /* Do something */ ticket->release(...) /* This release cannot block */ /* Do something */ ticket->release(...) Without this patch, the inner acquire() and release() calls could block if ticket was revoked at the wrong time. revoke() would not unblock the blocking acquire until there have been as many release()s as acquire()s, which cannot happen.
2007-07-08Rename mrl_unescape and export it for use by plugins.Darren Salt
2007-06-04fallback to none output when the device is unpluggedMatthias Kretz
2007-04-12Provide a function to query buffer usage.Reinhard Nißl
This function shall be used to poll the number of remaining frames from a certain point in time on until the reported numbers are all 0. At that point in time, the content on screen is identical to a certain state of the stream, at which for example, a hardcopy may be taken.
2007-04-12Extend ticket system for nonblocking ticket acquiries.Reinhard Nißl
The current code has a race condition which can block arbitrary threads that call for example xine_get_current_frame() until the stream gets unpaused again. This can happen when the internal ticket acquiration collides with a ticket revokation for example when another thread is going to pause the stream. There are a few situations where a port ticket needs to be acquired for calling a port function but where it is absolutely undesireable to get blocked for an undetermined period of time. Therefore the ticket system should be extended by nonblocking functions which allow ticket acquiration even when a ticket revokation is in progress. And in the case where blocking is not avoidable, it should simply be indicated that no ticket was acquired. The caller can then choose to repeat the call at a later point in time.
2007-01-18Make _x_demux_check_extension() accept constant strings.Diego 'Flameeyes' Pettenò
CVS patchset: 8520 CVS date: 2007/01/18 23:28:46
2006-12-13Lock the log buffer while updating it.Darren Salt
CVS patchset: 8411 CVS date: 2006/12/13 18:30:30
2006-10-02build cdio for builddir != .František Dvořák
update for attic platforms (mainly older MinGW) unsupported attributes not used (fixes warnings) added check for sentinel attribute enabled TrueSpeech codec CVS patchset: 8327 CVS date: 2006/10/02 15:56:03
2006-09-26Fix the missing protected symbols, and enable hidden visibility for libxine.so.Diego 'Flameeyes' Pettenò
CVS patchset: 8290 CVS date: 2006/09/26 05:48:16
2006-09-26Use protected visibility for all the functions exported by libxine.so, so ↵Diego 'Flameeyes' Pettenò
that their binding is local to the library (has a similar effect to -Bsymbolic, but will work better with hidden visibility enabled, that is step two). CVS patchset: 8289 CVS date: 2006/09/26 05:19:47
2006-09-08handle thread creation and memory allocation failures more gratefullyMiguel Freitas
thanks Daniel Derrett for the patch CVS patchset: 8209 CVS date: 2006/09/08 21:11:29
2006-08-13move image presentation support to xine-libMiguel Freitas
CVS patchset: 8180 CVS date: 2006/08/13 23:51:33
2006-08-12don't report extensions/mimetypes if required decoder is missingMiguel Freitas
(implemented for mp3 demuxer only) CVS patchset: 8177 CVS date: 2006/08/12 01:43:26
2006-08-08new mutex to synchronize order of pairwise A/V buffer operationsMiguel Freitas
by Reinhard Nissl CVS patchset: 8167 CVS date: 2006/08/08 03:25:03
2006-04-21Sentinel attributes for certain variadic functions.Darren Salt
CVS patchset: 7975 CVS date: 2006/04/21 22:46:33
2006-01-27Adapt the engine to the new list code.Thibaut Mattern
CVS patchset: 7848 CVS date: 2006/01/27 07:46:09
2006-01-26commit Barry Scott's patch for speed changing raceMiguel Freitas
(it was supposed to be part of 1.1.1) CVS patchset: 7845 CVS date: 2006/01/26 12:13:23
2005-10-30gapless playback stream switching supportMiguel Freitas
CVS patchset: 7784 CVS date: 2005/10/30 02:18:35
2005-09-25move alphablend to coreMiguel Freitas
CVS patchset: 7745 CVS date: 2005/09/25 00:44:04
2005-08-25*BUGFIX*František Dvořák
Windows ports fixes and improvements due to my current work on toxine: - first experiments with external win32 pthreads, more portable code (pthread_t may be a struct) - headers refactored - moved dirent win32 replacement to lib/, hide it for frontends, used system version, if found, not used non-POSIX dirent->d_reclen (this item doesn't work in MinGW), fix memleak in dvb - separated settings for postproc and avcodec when using external ffmpeg - check for malloc.h in public xine.m4, used it conditionally in xine headers - replaced random() by POSIX more common rand() - prevent one segfault in directx vo plugin, if fails - M$VC port update CVS patchset: 7709 CVS date: 2005/08/25 15:36:29
2005-07-17Improve ASX parsing.Darren Salt
Add an extended MRL reference event which includes the item title, start time and duration. (Both events are sent; front ends should only listen for one of them.) CVS patchset: 7656 CVS date: 2005/07/17 23:11:33
2005-06-13**BUGFIX**Miguel Freitas
fix deadlock with _x_flush_events_queues CVS patchset: 7621 CVS date: 2005/06/13 00:32:11
2005-02-09Finally commit the plugin loader improvements.Thibaut Mattern
see my last mail about this stuff: http://thread.gmane.org/gmane.comp.video.xine.devel/12547 and this thread: http://thread.gmane.org/gmane.comp.video.xine.devel/11213 CVS patchset: 7395 CVS date: 2005/02/09 20:03:18
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-10-29hmm did i miss this one?Miguel Freitas
CVS patchset: 7086 CVS date: 2004/10/29 13:11:47
2004-10-14Implemented stream_t reference counter idea.Thibaut Mattern
See these two threads: http://thread.gmane.org/gmane.comp.video.xine.devel/10819 http://thread.gmane.org/gmane.comp.video.xine.devel/10424 Fixed _x_handle_stream_end __stop_internal race. See this thread: http://thread.gmane.org/gmane.comp.video.xine.devel/10818 If the lib is broken after this patch, you know who to blame ;-) CVS patchset: 7036 CVS date: 2004/10/14 23:25:24
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-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-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-04-16- flush the events queue before returning from an open() so that the front-endsBastien Nocera
can receive error events before the end of xine_open() CVS patchset: 6410 CVS date: 2004/04/16 16:34:22
2004-03-23Ignore speed change in nbc during xine_stop() to avid deadlocks.František Dvořák
CVS patchset: 6305 CVS date: 2004/03/23 22:54:31
2004-02-12big commit of the new ticket system to protect the rewiring and moreMichael Roitzsch
(as discussed on xine-devel, slightly improved to block acquires from different threads between atomic revoke and issue) * xine_ticket_t is declared in xine_internal.h and implemented in xine.c * the ticket is acquired for (hopefully) all port operations (no modifications to decoders needed, decoder loop does this) * the ticket is revoked on pausing and on rewiring * OSD does not store the port pointer any more (which was very dangerous, since the pointer can change on rewire) CVS patchset: 6137 CVS date: 2004/02/12 18:19:00
2004-01-11add _x_demux_read_send_dataJames Stembridge
CVS patchset: 6025 CVS date: 2004/01/11 15:54:23
2003-12-23- some more endianness fixes to ogg demuxerMiguel Freitas
- new helper function for demuxers (send data to fifo easily, provided it was already loaded to memory) CVS patchset: 5936 CVS date: 2003/12/23 21:22:38
2003-12-09update copyright year (and we have to do it again in 3 weeks... ;-) )Daniel Caujolle-Bert
CVS patchset: 5879 CVS date: 2003/12/09 00:02:28
2003-11-26xprintf clean pass. xprintf now log into new XINE_LOG_TRACE log buffer. ↵Daniel Caujolle-Bert
scratch buffer enhancement (thanks Thibaut for the malloc tips), enlarge log buffer from 25 lines (very useless), to 150 (better). CVS patchset: 5801 CVS date: 2003/11/26 23:44:08
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-15* making metronom xine_stream_t independentMichael Roitzsch
* using xprintf() and lprintf() inside metronom * prebuffer is now a metronom option * some small structure cleanup CVS patchset: 5737 CVS date: 2003/11/15 20:43:11
2003-11-15demux_action_pending privateMiguel Freitas
CVS patchset: 5734 CVS date: 2003/11/15 15:04:35
2003-11-15start xine_stream_t separation (public/private).Miguel Freitas
(we should finish this before rc3.) - stream_info and meta_info variables are private now. obs: everything must be recompiled due xine_stream_t changes CVS patchset: 5733 CVS date: 2003/11/15 14:54:30
2003-11-11rename internal API function (_x_<function>).Daniel Caujolle-Bert
CVS patchset: 5721 CVS date: 2003/11/11 18:44:50
2003-10-21adding members in the middle of an engine structure breaks plugin APIMichael Roitzsch
solutions: increase (in this case: ALL) plugin interface versions or add the new member at the end taking solution 2 for now and adding a TODO-item for later CVS patchset: 5562 CVS date: 2003/10/21 16:08:04
2003-10-20Clog the security hole in RIP input plugin. Streams may be saved only into ↵František Dvořák
onle directory. Note, this is patch only for xine-engine. It doesn't cover cfg:// MRLs used by xine-ui. CVS patchset: 5558 CVS date: 2003/10/20 08:36:56
2003-10-19Rename meta_helper info_helper.Thibaut Mattern
Add a function to set integer stream infos. CVS patchset: 5547 CVS date: 2003/10/19 19:45:03