From: Guenter B. <gu...@us...> - 2002-10-28 20:16:07
|
Update of /cvsroot/xine/xine-lib/src/xine-engine In directory usw-pr-cvs1:/tmp/cvs-serv12953 Modified Files: xine.c Log Message: fix a deadlock Index: xine.c =================================================================== RCS file: /cvsroot/xine/xine-lib/src/xine-engine/xine.c,v retrieving revision 1.179 retrieving revision 1.180 diff -u -r1.179 -r1.180 --- xine.c 28 Oct 2002 11:19:51 -0000 1.179 +++ xine.c 28 Oct 2002 20:15:56 -0000 1.180 @@ -57,9 +57,9 @@ #include "xineutils.h" #include "compat.h" -/* + #define LOG -*/ + void xine_handle_stream_end (xine_stream_t *stream, int non_user) { @@ -386,6 +386,9 @@ stream->meta_info[XINE_META_INFO_INPUT_PLUGIN] = strdup (stream->input_class->get_identifier (stream->input_class)); +#ifdef LOG + printf ("xine: input plugin found\n"); +#endif /* * find a demux plugin @@ -774,11 +777,15 @@ */ static int xine_get_stream_length (xine_stream_t *stream) { - + pthread_mutex_lock( &stream->demux_lock ); - if (stream->demux_plugin) - return stream->demux_plugin->get_stream_length (stream->demux_plugin); + if (stream->demux_plugin) { + int len = stream->demux_plugin->get_stream_length (stream->demux_plugin); + pthread_mutex_unlock( &stream->demux_lock ); + + return len; + } pthread_mutex_unlock( &stream->demux_lock ); |