summaryrefslogtreecommitdiff
path: root/src/xine-engine/xine.c
AgeCommit message (Collapse)Author
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-11Released allocated strings.Thibaut Mattern
Added some profiling (XINE_PROFILE).
2007-02-20const++Diego 'Flameeyes' Pettenò
CVS patchset: 8609 CVS date: 2007/02/20 00:36:08
2007-02-19Fix warning about incompatible pointer type.Diego 'Flameeyes' Pettenò
CVS patchset: 8600 CVS date: 2007/02/19 23:20:19
2006-12-22Removed INPUT_CAP_NOCACHE.Claudio Ciccani
CVS patchset: 8432 CVS date: 2006/12/22 16:38:15
2006-12-19Mark string-type configuration items according to whether they're plainDarren Salt
strings or names of files, device nodes or directories. This information is available to front ends (via .num_value) so that they can present file/dir-open dialogue boxes if they so choose. Subtitle font selection is split up due to this. CVS patchset: 8425 CVS date: 2006/12/19 19:10:50
2006-12-19Added some cleanup code to make some calls cancelable (at least xine_open ↵Claudio Ciccani
can be safely canceled now). CVS patchset: 8424 CVS date: 2006/12/19 14:10:35
2006-12-18Added INPUT_CAP_NOCACHE: disable usage of internal input cache by default.Claudio Ciccani
CVS patchset: 8421 CVS date: 2006/12/18 21:22:45
2006-12-13Lock the log buffer while updating it.Darren Salt
CVS patchset: 8411 CVS date: 2006/12/13 18:30:30
2006-10-16Fixed several warnings (but warnings due to APIs not solved).František Dvořák
CVS patchset: 8344 CVS date: 2006/10/16 22:18:24
2006-09-25Free the filename variable after usage (_x_rip_plugin_get_instance uses ↵Diego 'Flameeyes' Pettenò
strdup() properly). CVS patchset: 8277 CVS date: 2006/09/25 23:11:19
2006-09-14Add missing blanks.Philipp Hahn
CVS patchset: 8253 CVS date: 2006/09/14 06:46:31
2006-09-13Allow the input plugins to file in a proper way when they can handle the ↵Diego 'Flameeyes' Pettenò
input requested, but simply fails because of connection failures or unaccessible files, by returning -1. Leave the same meaning to the old 0 and 1 values. CVS patchset: 8231 CVS date: 2006/09/13 23:17:29
2006-09-10Restre xine_vlog as a va_list function, xine_log is already a variable ↵Diego 'Flameeyes' Pettenò
arguments function. CVS patchset: 8217 CVS date: 2006/09/10 19:50:09
2006-09-10Allow xine-lib to compile with gcc 4.1.1.James Courtier-Dutton
dsputil_mmx.c patch taked from gentoo portage. CVS patchset: 8216 CVS date: 2006/09/10 19:33:53
2006-09-09Dynamically create the log_buffers entries and the lines buffers for the ↵Diego 'Flameeyes' Pettenò
logs, so that it does not waste 450KiB immediately at startup. CVS patchset: 8212 CVS date: 2006/09/09 19:35:40
2006-09-09Add xine_vlog in xine.c, remove xine_vflog from input_vcd, and do the ↵Diego 'Flameeyes' Pettenò
stdout/stderr output from the two xine_vlog_msg/xine_vlog_err functions that are still local to the input plugin. Centralise log_buffers usage. CVS patchset: 8211 CVS date: 2006/09/09 17:41:45
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-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-07-03Add a media.network.timeout configuration for a timeout while running ↵Diego 'Flameeyes' Pettenò
select() on streams, to avoid getting frozen if trying to connect to an unreachable server (or if the connection is lost. CVS patchset: 8087 CVS date: 2006/07/03 10:55:37
2006-04-08Ancient platforms support:František Dvořák
- rint, lrint, M_PI (ffmpeg and goom) - avoid mkdir warnings - check for older _GUID_DEFINED too - ressurected generating inttypes, cleaned public os_types.h - moved function redefiniton used only in the old MSVC to central place Windows port update: - build internal ffmpeg: - workaround 'near' keyword problem - proper using __declspec(dllimport) Other changes: - LIBFFMPEG_CFLAGS --> LIBFFMPEG_CPPFLAGS CVS patchset: 7964 CVS date: 2006/04/08 16:42:23
2006-03-17- Only fail to open the stream if we can't parse the possible option, notBastien Nocera
if we can't change it. Fix GNOME bug #334666: http://bugzilla.gnome.org/show_bug.cgi?id=334666 trying to open: mms://media.fastweb.it/WM9/raiclick/FMVRAI04000000001441.wmv?idCnt=368&path=RaiClickWeb^Spettacolo^Jazz#1 CVS patchset: 7935 CVS date: 2006/03/17 18:52:04
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-19*BUGFIX*František Dvořák
added missing mutex init in xine_ticket (fixes pause assert with win32-pthreads) added missing destroys due to pthread doc spells and houskeeping use directx of older versions too, possibility to use xine w/o HW accel CVS patchset: 7738 CVS date: 2005/09/19 16:14:02
2005-09-11make Alien happier ;-)Miguel Freitas
audio can be heard with non-1X speeds if audio.synchronization.slow_fast_audio is set CVS patchset: 7726 CVS date: 2005/09/11 22:07:48
2005-08-29*BUGFIX*František Dvořák
Windows ports updates: - finished M$VC port update - moved xine plugins back to normal location for Windows ports, added relative directories (used relative to ${prefix}), make sure it's thread-safe (but it's still hacky) - fixed ugly bug with loading plugins, when working drive was differrent from plugins directory directory - directory and subdirectory separator called as platform specific - fix crash with newer win32 pthread (missing mutex_init in vo plugin), yes! - small doc update CVS patchset: 7712 CVS date: 2005/08/29 15:28:16
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-21- change frontend_lock and config_lock to recursive mutexes to fixMiguel Freitas
reentrancy problems (as reported by Reinhard Nissl and Darren Salt) - add a new recursive mutex support check to configure so we should fail nicely if system doesn't provides it (please test) CVS patchset: 7670 CVS date: 2005/07/21 02:51:14
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-03-06Fixed pthread leak, the demuxer thread was not joined in all cases.Thibaut Mattern
See this thread for more info: http://thread.gmane.org/gmane.comp.video.xine.devel/12377 CVS patchset: 7432 CVS date: 2005/03/06 11:08:40
2005-02-19**BUGFIX**František Dvořák
Bind to right text domain. This fixes missing translations for prefixes different from /usr. CVS patchset: 7418 CVS date: 2005/02/19 13:11:51
2005-02-13nitpick: reset MAX_AUDIO_CHANNEL and MAX_SPU_CHANNEL together with other ↵Stefan Holst
stream info in xine_close CVS patchset: 7411 CVS date: 2005/02/13 22:12:50
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
2005-01-21Don't wait for events to be flush to the events thread if we don't haveBastien Nocera
any. Fixes the bug discussed in: http://thread.gmane.org/gmane.comp.video.xine.devel/12305 CVS patchset: 7365 CVS date: 2005/01/21 18:47:54
2005-01-18fix the status, xine-streams report. XINE_STATUS_IDLE is reported for a ↵Stefan Holst
stream with no mrl assigned, XINE_STATUS_STOP for a stream ready to play. CVS patchset: 7361 CVS date: 2005/01/18 22:38:31
2004-12-20remove all local names beginning with double underscore, because C99Michael Roitzsch
reserves these names for use by the C implementation CVS patchset: 7288 CVS date: 2004/12/20 21:22:18
2004-12-16use UTF-8 meta info setting, where we know the string is ASCIIMichael Roitzsch
(costly conversion is not necessary, because ASCII is a subset of UTF-8) CVS patchset: 7264 CVS date: 2004/12/16 13:58:57
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-24the ratio_code in xine_get_current_frame() is wrong, since we changed theMichael Roitzsch
internal value to float; patch inspired by Reinhard Nissl CVS patchset: 7154 CVS date: 2004/11/24 15:44:15
2004-11-17fix #1067672Miguel Freitas
CVS patchset: 7130 CVS date: 2004/11/17 01:38:41
2004-10-30fixed seeking unresponsiveness when using external subtitlesMiguel Freitas
do not flush slave subtitle streams. since the output ports are the same for both streams, they will get flushed twice causing frames to be discarded. (possible improvement: check if slave output port is the same as master's) CVS patchset: 7089 CVS date: 2004/10/30 12:45:26
2004-10-27Thibaut's request optimizer input layerMiguel Freitas
CVS patchset: 7077 CVS date: 2004/10/27 13:09:07