Enlightenment CVS committal

Author  : moom16
Project : e17
Module  : libs/emotion

Dir     : e17/libs/emotion/src/modules


Modified Files:
        emotion_xine.c 


Log Message:

* Should fix the autoplay bug


===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/emotion/src/modules/emotion_xine.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- emotion_xine.c      5 May 2005 08:01:52 -0000       1.18
+++ emotion_xine.c      6 May 2005 15:35:56 -0000       1.19
@@ -235,6 +235,17 @@
    ev->stream = xine_stream_new(ev->decoder, ev->audio, ev->video);
    ev->queue = xine_event_new_queue(ev->stream);
    xine_event_create_listener_thread(ev->queue, _em_event, ev);
+
+   ev->delete_me = 0;
+   ev->get_pos_thread_deleted = 0;
+   ev->seek_thread_deleted = 0;
+   pthread_cond_init(&(ev->seek_cond), NULL);
+   pthread_cond_init(&(ev->get_pos_len_cond), NULL);
+   pthread_mutex_init(&(ev->seek_mutex), NULL);
+   pthread_mutex_init(&(ev->get_pos_len_mutex), NULL);
+   pthread_create(&ev->seek_th, NULL, _em_seek, ev);
+   pthread_create(&ev->get_pos_len_th, NULL, _em_get_pos_len_th, ev);
+
    *emotion_video = ev;
    
    return 1;
@@ -247,6 +258,23 @@
    
    ev = (Emotion_Xine_Video *)video;
    
+   ev->delete_me = 1;
+//   pthread_mutex_lock(&(ev->seek_mutex));
+   if (!ev->seek_thread_deleted)
+     {
+       printf("closing seek thread\n");
+       pthread_cond_broadcast(&(ev->seek_cond));
+       while (ev->seek_to);
+     }
+
+//   pthread_mutex_lock(&(ev->get_pos_len_mutex));
+   if (!ev->get_pos_thread_deleted)
+     {
+       printf("closing get_pos thread\n");
+       pthread_cond_broadcast(&(ev->get_pos_len_cond));
+       while (ev->get_poslen);
+     }
+
    printf("EX dispose\n");
    xine_dispose(ev->stream);
    printf("EX dispose evq\n");
@@ -311,16 +339,6 @@
    ev->get_poslen = 0;
    ev->seek_to = 0;
    
-   ev->delete_me = 0;
-   ev->get_pos_thread_deleted = 0;
-   ev->seek_thread_deleted = 0;
-   pthread_cond_init(&(ev->seek_cond), NULL);
-   pthread_cond_init(&(ev->get_pos_len_cond), NULL);
-   pthread_mutex_init(&(ev->seek_mutex), NULL);
-   pthread_mutex_init(&(ev->get_pos_len_mutex), NULL);
-   pthread_create(&ev->seek_th, NULL, _em_seek, ev);
-   pthread_create(&ev->get_pos_len_th, NULL, _em_get_pos_len_th, ev);
-   
 //   em_debug(ev);
    return 1;
 }
@@ -331,22 +349,6 @@
    Emotion_Xine_Video *ev;
    
    ev = (Emotion_Xine_Video *)ef;
-   ev->delete_me = 1;
-//   pthread_mutex_lock(&(ev->seek_mutex));
-   if (!ev->seek_thread_deleted)
-     {
-       printf("closing seek thread\n");
-       pthread_cond_broadcast(&(ev->seek_cond));
-       while (ev->seek_to);
-     }
-
-//   pthread_mutex_lock(&(ev->get_pos_len_mutex));
-   if (!ev->get_pos_thread_deleted)
-     {
-       printf("closing get_pos thread\n");
-       pthread_cond_broadcast(&(ev->get_pos_len_cond));
-       while (ev->get_poslen);
-     }
 
    printf("EX pause end...\n");
    if (!emotion_object_play_get(ev->obj))




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to