forked from enlightenment/efl
eject works.. xine bug.. if video is paused (*or int he process of being
paused) when we try shut down the stream - POOF - xine hangs SVN revision: 10914
This commit is contained in:
parent
755168f03b
commit
8798313dcc
|
@ -338,8 +338,19 @@ em_file_close(void *ef)
|
||||||
pthread_cond_broadcast(&(ev->get_pos_len_cond));
|
pthread_cond_broadcast(&(ev->get_pos_len_cond));
|
||||||
while (ev->seek_to);
|
while (ev->seek_to);
|
||||||
while (ev->get_poslen);
|
while (ev->get_poslen);
|
||||||
printf("EX pause...\n");
|
printf("EX pause end...\n");
|
||||||
// xine_set_param(ev->stream, XINE_PARAM_SPEED, XINE_SPEED_PAUSE);
|
if (!emotion_object_play_get(ev->obj))
|
||||||
|
// if (xine_get_param(ev->stream, XINE_PARAM_SPEED) == XINE_SPEED_PAUSE)
|
||||||
|
{
|
||||||
|
printf("sync...\n");
|
||||||
|
while (xine_get_param(ev->stream, XINE_PARAM_SPEED) == XINE_SPEED_NORMAL);
|
||||||
|
printf("sync...\n");
|
||||||
|
while (xine_get_param(ev->stream, XINE_PARAM_SPEED) == XINE_SPEED_PAUSE)
|
||||||
|
{
|
||||||
|
printf(" ... unpause\n");
|
||||||
|
xine_set_param(ev->stream, XINE_PARAM_SPEED, XINE_SPEED_NORMAL);
|
||||||
|
}
|
||||||
|
}
|
||||||
printf("EX stop\n");
|
printf("EX stop\n");
|
||||||
xine_stop(ev->stream);
|
xine_stop(ev->stream);
|
||||||
printf("EX close\n");
|
printf("EX close\n");
|
||||||
|
|
|
@ -123,7 +123,6 @@ _emotion_class_init(xine_t *xine, void *visual)
|
||||||
cl->config = xine->config;
|
cl->config = xine->config;
|
||||||
cl->xine = xine;
|
cl->xine = xine;
|
||||||
|
|
||||||
printf("VO class init\n");
|
|
||||||
return cl;
|
return cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +133,6 @@ _emotion_class_dispose(video_driver_class_t *driver_class)
|
||||||
|
|
||||||
cl = (Emotion_Class *)driver_class;
|
cl = (Emotion_Class *)driver_class;
|
||||||
free(cl);
|
free(cl);
|
||||||
printf("VO class dispose\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
|
@ -185,7 +183,6 @@ _emotion_open(video_driver_class_t *driver_class, const void *visual)
|
||||||
dv->vo_driver.dispose = _emotion_dispose;
|
dv->vo_driver.dispose = _emotion_dispose;
|
||||||
dv->vo_driver.redraw_needed = _emotion_redraw;
|
dv->vo_driver.redraw_needed = _emotion_redraw;
|
||||||
dv->ev = (Emotion_Xine_Video *)visual;
|
dv->ev = (Emotion_Xine_Video *)visual;
|
||||||
printf("VO open\n");
|
|
||||||
return &dv->vo_driver;
|
return &dv->vo_driver;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,7 +194,6 @@ _emotion_dispose(vo_driver_t *vo_driver)
|
||||||
dv = (Emotion_Driver *)vo_driver;
|
dv = (Emotion_Driver *)vo_driver;
|
||||||
// printf("emotion: _emotion_dispose()\n");
|
// printf("emotion: _emotion_dispose()\n");
|
||||||
free(dv);
|
free(dv);
|
||||||
printf("VO dispose\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
|
@ -323,7 +319,6 @@ _emotion_frame_alloc(vo_driver_t *vo_driver)
|
||||||
fr->vo_frame.dispose = _emotion_frame_dispose;
|
fr->vo_frame.dispose = _emotion_frame_dispose;
|
||||||
fr->vo_frame.driver = vo_driver;
|
fr->vo_frame.driver = vo_driver;
|
||||||
|
|
||||||
printf("VO frame alloc\n");
|
|
||||||
return (vo_frame_t *)fr;
|
return (vo_frame_t *)fr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -333,7 +328,6 @@ _emotion_frame_dispose(vo_frame_t *vo_frame)
|
||||||
Emotion_Frame *fr;
|
Emotion_Frame *fr;
|
||||||
|
|
||||||
fr = (Emotion_Frame *)vo_frame;
|
fr = (Emotion_Frame *)vo_frame;
|
||||||
printf("VO frame dispose\n");
|
|
||||||
// printf("emotion: _emotion_frame_dispose()\n");
|
// printf("emotion: _emotion_frame_dispose()\n");
|
||||||
_emotion_frame_data_free(fr);
|
_emotion_frame_data_free(fr);
|
||||||
free(fr);
|
free(fr);
|
||||||
|
|
Loading…
Reference in New Issue