if (!ev->get_pos_thread_deleted)
{
printf("closing get_pos thread, %p\n", ev);
+ pthread_mutex_lock(&(ev->get_pos_len_mutex));
pthread_cond_broadcast(&(ev->get_pos_len_cond));
+ pthread_mutex_unlock(&(ev->get_pos_len_mutex));
while (ev->get_poslen);
}
printf("EX dispose %p\n", ev);
ev = (Emotion_Xine_Video *)par;
- pthread_mutex_lock(&(ev->get_pos_len_mutex));
for (;;)
{
+ pthread_mutex_lock(&(ev->get_pos_len_mutex));
pthread_cond_wait(&(ev->get_pos_len_cond), &(ev->get_pos_len_mutex));
+ pthread_mutex_unlock(&(ev->get_pos_len_mutex));
if (ev->get_poslen)
{
int pos_stream = 0;
{
if (ev->get_poslen) return;
ev->get_poslen = 1;
+ pthread_mutex_lock(&(ev->get_pos_len_mutex));
pthread_cond_broadcast(&(ev->get_pos_len_cond));
+ pthread_mutex_unlock(&(ev->get_pos_len_mutex));
}
const static Emotion_Video_Module em_module =