Enlightenment CVS committal Author : raster Project : e17 Module : libs/emotion
Dir : e17/libs/emotion/src/modules Modified Files: emotion_xine.c emotion_xine.h Log Message: moom's patches =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/emotion/src/modules/emotion_xine.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- emotion_xine.c 24 Jul 2004 09:53:00 -0000 1.13 +++ emotion_xine.c 2 Apr 2005 15:40:35 -0000 1.14 @@ -304,6 +304,7 @@ v = xine_get_stream_info(ev->stream, XINE_STREAM_INFO_VIDEO_RATIO); ev->ratio = (double)v / 10000.0; ev->just_loaded = 1; + ev->get_poslen = 0; { pthread_attr_t thattr; @@ -320,6 +321,8 @@ pthread_attr_init(&thattr); pthread_create(&ev->get_pos_len_th, NULL, _em_get_pos_len_th, ev); pthread_attr_destroy(&thattr); + + ev->get_pos_thread_deleted = 0; } // em_debug(ev); return ev; @@ -334,10 +337,15 @@ ev->delete_me = 1; // pthread_mutex_lock(&(ev->seek_mutex)); pthread_cond_broadcast(&(ev->seek_cond)); -// pthread_mutex_lock(&(ev->get_pos_len_mutex)); - pthread_cond_broadcast(&(ev->get_pos_len_cond)); while (ev->seek_to); - while (ev->get_poslen); + +// pthread_mutex_lock(&(ev->get_pos_len_mutex)); + if (!ev->get_pos_thread_deleted) + { + pthread_cond_broadcast(&(ev->get_pos_len_cond)); + while (ev->get_poslen); + } + printf("EX pause end...\n"); if (!emotion_object_play_get(ev->obj)) // if (xine_get_param(ev->stream, XINE_PARAM_SPEED) == XINE_SPEED_PAUSE) @@ -1269,7 +1277,7 @@ for (;;) { pthread_cond_wait(&(ev->get_pos_len_cond), &(ev->get_pos_len_mutex)); - while (ev->get_poslen > 0) + while (ev->get_poslen > 0 || ev->delete_me) { int pos_stream = 0; int pos_time = 0; @@ -1296,6 +1304,7 @@ if (ev->delete_me) { ev->get_poslen = 0; + ev->get_pos_thread_deleted = 1; return NULL; } ev->get_poslen = 0; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/emotion/src/modules/emotion_xine.h,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- emotion_xine.h 23 Jul 2004 03:15:30 -0000 1.6 +++ emotion_xine.h 2 Apr 2005 15:40:35 -0000 1.7 @@ -49,6 +49,7 @@ pthread_cond_t get_pos_len_cond; pthread_mutex_t seek_mutex; pthread_mutex_t get_pos_len_mutex; + unsigned char get_pos_thread_deleted : 1; }; struct _Emotion_Xine_Video_Frame ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs