Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/emotion

Dir     : e17/libs/emotion/src/modules


Modified Files:
        emotion_xine.c 


Log Message:


grr - i'm trying to debug why xine locks up on closing/stopping/deleting a
stream in elation but NOt in emotion when emotion_test shuts down.

ok emotion_test:

emotion_test dvd://

now once its played a bit of the dvd hit:

q

and it will quit
destroy video objects then exit main loop and exit.

now with elation:

elation

now put a dvd in the drive (or already have one) elation will detect this.
now let it play a bit of the dvd, and hit "Escape" to eject the dvd (which
will try delete thevideo object). elatiojn will get STUCK inside an emotion
call whihc get stuckin the emotion_xine module call thsat gets stuck inside
xine_stop().

now WHY. what is it about elation that triggers xine to go batty?

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/emotion/src/modules/emotion_xine.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- emotion_xine.c      18 Jul 2004 08:25:45 -0000      1.6
+++ emotion_xine.c      19 Jul 2004 04:50:13 -0000      1.7
@@ -338,19 +338,29 @@
    pthread_cond_broadcast(&(ev->get_pos_len_cond));
    while (ev->seek_to);
    while (ev->get_poslen);
-   ecore_main_fd_handler_del(ev->fd_handler);
-   close(ev->fd_write);
-   close(ev->fd_read);
-   ecore_main_fd_handler_del(ev->fd_ev_handler);
-   close(ev->fd_ev_write);
-   close(ev->fd_ev_read);
+   printf("EX pause...\n");
+//   xine_set_param(ev->stream, XINE_PARAM_SPEED, XINE_SPEED_PAUSE);
+   printf("EX stop\n");
    xine_stop(ev->stream);
+   printf("EX close\n");
    xine_close(ev->stream);
+   printf("EX dispose\n");
    xine_dispose(ev->stream);
+   printf("EX dispose evq\n");
    xine_event_dispose_queue(ev->queue);
+   printf("EX close video drv\n");
    if (ev->video) xine_close_video_driver(decoder, ev->video);
+   printf("EX close audio drv\n");
    if (ev->audio) xine_close_audio_driver(decoder, ev->audio);
+   printf("EX del timer\n");
    if (ev->timer) ecore_timer_del(ev->timer);
+   printf("EX del fds\n");
+   ecore_main_fd_handler_del(ev->fd_handler);
+   close(ev->fd_write);
+   close(ev->fd_read);
+   ecore_main_fd_handler_del(ev->fd_ev_handler);
+   close(ev->fd_ev_write);
+   close(ev->fd_ev_read);
    free(ev);
 }
 




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to