diff options
author | uid86226 <none@none> | 2004-02-16 20:19:09 +0000 |
---|---|---|
committer | uid86226 <none@none> | 2004-02-16 20:19:09 +0000 |
commit | 5807b51c46b31abe0fecedb8f1a783f2bd74a18d (patch) | |
tree | db5924af7c3bf12972a2e99854a76b8914d1fb99 /src/xine-engine/xine.c | |
parent | 76b4bde43bb287a9b4cbfe92b4af5e1dd40ee311 (diff) | |
download | xine-lib-5807b51c46b31abe0fecedb8f1a783f2bd74a18d.tar.gz xine-lib-5807b51c46b31abe0fecedb8f1a783f2bd74a18d.tar.bz2 |
fix freezes with input plugins that play with the speed:
* use _x_set_speed() for speed manipulations, since it is ticket-safe
* _x_set_speed() is an internal helper function now, move frontend locking
outside of it
* restrict access to metronom clock internal stuff
CVS patchset: 6165
CVS date: 2004/02/16 20:19:09
Diffstat (limited to 'src/xine-engine/xine.c')
-rw-r--r-- | src/xine-engine/xine.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 9564c8d25..282cc2db3 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.282 2004/02/15 20:31:23 mroi Exp $ + * $Id: xine.c,v 1.283 2004/02/16 20:19:10 uid86226 Exp $ */ /* @@ -54,6 +54,7 @@ #define XINE_ENABLE_EXPERIMENTAL_FEATURES #define XINE_ENGINE_INTERNAL +#define METRONOM_CLOCK_INTERNAL #include "xine_internal.h" #include "plugin_catalog.h" @@ -1539,8 +1540,6 @@ int xine_get_status (xine_stream_t *stream) { void _x_set_speed (xine_stream_t *stream, int speed) { - pthread_mutex_lock (&stream->frontend_lock); - if (speed <= XINE_SPEED_PAUSE) speed = XINE_SPEED_PAUSE; else if (speed > XINE_SPEED_FAST_4) @@ -1551,8 +1550,6 @@ void _x_set_speed (xine_stream_t *stream, int speed) { if (stream->slave && (stream->slave_affection & XINE_MASTER_SLAVE_SPEED)) __set_speed_internal (stream->slave, speed); - - pthread_mutex_unlock (&stream->frontend_lock); } |