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
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs