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