summaryrefslogtreecommitdiff
path: root/src/xine-engine/xine_internal.h
AgeCommit message (Collapse)Author
2007-12-19Consolidate all public include files into include/xine directory.Diego 'Flameeyes' Pettenò
--HG-- rename : src/xine-engine/alphablend.h => include/xine/alphablend.h rename : src/xine-utils/array.h => include/xine/array.h rename : src/xine-utils/attributes.h => include/xine/attributes.h rename : src/xine-engine/audio_decoder.h => include/xine/audio_decoder.h rename : src/xine-engine/audio_out.h => include/xine/audio_out.h rename : src/xine-engine/broadcaster.h => include/xine/broadcaster.h rename : src/xine-engine/buffer.h => include/xine/buffer.h rename : src/xine-utils/compat.h => include/xine/compat.h rename : src/xine-engine/configfile.h => include/xine/configfile.h rename : src/demuxers/demux.h => include/xine/demux.h rename : src/xine-engine/info_helper.h => include/xine/info_helper.h rename : src/input/input_plugin.h => include/xine/input_plugin.h rename : src/xine-engine/io_helper.h => include/xine/io_helper.h rename : src/xine-utils/list.h => include/xine/list.h rename : src/xine-engine/metronom.h => include/xine/metronom.h rename : src/xine-engine/osd.h => include/xine/osd.h rename : src/xine-engine/plugin_catalog.h => include/xine/plugin_catalog.h rename : src/xine-utils/pool.h => include/xine/pool.h rename : src/xine-engine/post.h => include/xine/post.h rename : src/xine-engine/refcounter.h => include/xine/refcounter.h rename : src/xine-engine/resample.h => include/xine/resample.h rename : src/xine-utils/ring_buffer.h => include/xine/ring_buffer.h rename : src/xine-engine/scratch.h => include/xine/scratch.h rename : src/xine-utils/sorted_array.h => include/xine/sorted_array.h rename : src/xine-engine/spu.h => include/xine/spu.h rename : src/xine-engine/spu_decoder.h => include/xine/spu_decoder.h rename : src/xine-engine/video_decoder.h => include/xine/video_decoder.h rename : src/xine-engine/video_out.h => include/xine/video_out.h rename : src/xine-engine/video_overlay.h => include/xine/video_overlay.h rename : src/xine-engine/vo_scale.h => include/xine/vo_scale.h rename : src/xine-utils/xine_buffer.h => include/xine/xine_buffer.h rename : src/xine-engine/xine_internal.h => include/xine/xine_internal.h rename : src/xine-engine/xine_plugin.h => include/xine/xine_plugin.h rename : src/xine-engine/xineintl.h => include/xine/xineintl.h rename : src/xine-utils/xineutils.h => include/xine/xineutils.h rename : src/xine-utils/xmllexer.h => include/xine/xmllexer.h rename : src/xine-utils/xmlparser.h => include/xine/xmlparser.h
2007-12-13Make _x_demux_read_header accept a void* as pointer to buffer.Diego 'Flameeyes' Pettenò
Removes some warnings in demuxers.
2007-12-11Don't export _x_demux_check_extension, now that plugins don't need it anymore.Diego 'Flameeyes' Pettenò
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-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-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-07-13Merge from 1.1.Darren Salt
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-08Merge from 1.1.Darren Salt
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-06-04fallback to none output when the device is unpluggedMatthias Kretz
2007-05-08Merge VDR support.Darren Salt
2007-05-08Merge Reinhard Nissl's engine changes.Darren Salt
2007-05-08Merge from 1.1.Darren Salt
2007-04-15Provide some internal functions to be used by input_vdr.Reinhard Nißl
These functions are likely to be removed later when more correct solutions have been found.
2007-04-15Provide a function to query for outstanding OSD events.Reinhard Nißl
This function shall be used to poll the number of outstanding OSD events from a certain point in time on until the reported number is 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-13Add a global handle for libxdg-basedir library to xine_s.Diego 'Flameeyes' Pettenò
This handle can then be used by all plugins and other parts of the xine engine without having to duplicate it.
2007-04-13Provide internal functions to lock frontend_lock.Reinhard Nißl
The introduced functions give "frontend like" plugins a chance to lock and unlock frontend_lock. This protects such threads for example from beeing blocked when changing the streams speed.
2007-04-13Provide internal functions to lock port rewiring.Reinhard Nißl
The introduced function give "frontend like" plugins a chance to lock and unlock port rewiring. This protects such threads (when combined with holding the frontend lock) from beeing blocked when calling functions like xine_get_current_frame().
2007-04-13Merge extentions to ticket system.Reinhard Nißl
2007-04-13Provide ability to lock port rewiring.Reinhard Nißl
The idea is to allow only a "single" frontend to rewire ports at a certain point in time. Regarding a stream, frontend_lock is used for example to allow only a single frontend to change the speed. Unfortunately, frontend_lock cannot be used as the rewire functions are not stream related. Therefore a new port_rewiring_lock was introduced and used at appropriate locations. When an arbitrary thread now holds the frontend_lock and the port_rewiring_lock, it is safe that acquiring a port ticket in functions like xine_get_current_frame() will never block the thread.
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-04-07Reorder to remove another hole.Diego 'Flameeyes' Pettenò
2007-04-04Reorder and change public structures (breaking ABI).Diego 'Flameeyes' Pettenò
With this changes, almost all the structures are now consolidated without holes. For xine_stream_s, transform a set of (internal) integers used as booleans into a bitmask, this reduces the size of the structure by about 36 bytes.
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