Age | Commit message (Collapse) | Author |
|
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.
|
|
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().
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
Added some profiling (XINE_PROFILE).
|
|
CVS patchset: 8609
CVS date: 2007/02/20 00:36:08
|
|
CVS patchset: 8600
CVS date: 2007/02/19 23:20:19
|
|
CVS patchset: 8432
CVS date: 2006/12/22 16:38:15
|
|
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
|
|
can be safely canceled now).
CVS patchset: 8424
CVS date: 2006/12/19 14:10:35
|
|
CVS patchset: 8421
CVS date: 2006/12/18 21:22:45
|
|
CVS patchset: 8411
CVS date: 2006/12/13 18:30:30
|
|
CVS patchset: 8344
CVS date: 2006/10/16 22:18:24
|
|
strdup() properly).
CVS patchset: 8277
CVS date: 2006/09/25 23:11:19
|
|
CVS patchset: 8253
CVS date: 2006/09/14 06:46:31
|
|
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
|
|
arguments function.
CVS patchset: 8217
CVS date: 2006/09/10 19:50:09
|
|
dsputil_mmx.c patch taked from gentoo portage.
CVS patchset: 8216
CVS date: 2006/09/10 19:33:53
|
|
logs, so that it does not waste 450KiB immediately at startup.
CVS patchset: 8212
CVS date: 2006/09/09 19:35:40
|
|
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
|
|
thanks Daniel Derrett for the patch
CVS patchset: 8209
CVS date: 2006/09/08 21:11:29
|
|
CVS patchset: 8180
CVS date: 2006/08/13 23:51:33
|
|
by Reinhard Nissl
CVS patchset: 8167
CVS date: 2006/08/08 03:25:03
|
|
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
|
|
- 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
|
|
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
|
|
CVS patchset: 7848
CVS date: 2006/01/27 07:46:09
|
|
(it was supposed to be part of 1.1.1)
CVS patchset: 7845
CVS date: 2006/01/26 12:13:23
|
|
CVS patchset: 7784
CVS date: 2005/10/30 02:18:35
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
fix deadlock with _x_flush_events_queues
CVS patchset: 7621
CVS date: 2005/06/13 00:32:11
|
|
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
|
|
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
|
|
stream info in xine_close
CVS patchset: 7411
CVS date: 2005/02/13 22:12:50
|
|
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
|
|
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
|
|
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
|
|
reserves these names for use by the C implementation
CVS patchset: 7288
CVS date: 2004/12/20 21:22:18
|
|
(costly conversion is not necessary, because ASCII is a subset of UTF-8)
CVS patchset: 7264
CVS date: 2004/12/16 13:58:57
|
|
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
|
|
internal value to float; patch inspired by Reinhard Nissl
CVS patchset: 7154
CVS date: 2004/11/24 15:44:15
|
|
CVS patchset: 7130
CVS date: 2004/11/17 01:38:41
|
|
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
|
|
CVS patchset: 7077
CVS date: 2004/10/27 13:09:07
|