Commit 81e3de1b authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

video_output: Don't keep the input around for a long time in RunThread.

Else there is a circular dependency between the vout that yield() the input, where the vout is also an input child. This should fix properly the media_instance() tests.
parent f8b8b4bf
...@@ -780,12 +780,6 @@ static void RunThread( vout_thread_t *p_vout) ...@@ -780,12 +780,6 @@ static void RunThread( vout_thread_t *p_vout)
display_date = 0; display_date = 0;
current_date = mdate(); current_date = mdate();
if( p_input && p_input->b_die )
{
vlc_object_release( p_input );
p_input = NULL;
}
i_loops++; i_loops++;
if( !p_input ) if( !p_input )
{ {
...@@ -802,6 +796,8 @@ static void RunThread( vout_thread_t *p_vout) ...@@ -802,6 +796,8 @@ static void RunThread( vout_thread_t *p_vout)
i_displayed , NULL); i_displayed , NULL);
i_displayed = i_lost = 0; i_displayed = i_lost = 0;
vlc_mutex_unlock( &p_input->p->counters.counters_lock ); vlc_mutex_unlock( &p_input->p->counters.counters_lock );
vlc_object_release( p_input );
p_input = NULL;
} }
#if 0 #if 0
p_vout->c_loops++; p_vout->c_loops++;
...@@ -1058,6 +1054,9 @@ static void RunThread( vout_thread_t *p_vout) ...@@ -1058,6 +1054,9 @@ static void RunThread( vout_thread_t *p_vout)
} }
p_subpic = spu_SortSubpictures( p_vout->p_spu, display_date, p_subpic = spu_SortSubpictures( p_vout->p_spu, display_date,
p_input ? var_GetBool( p_input, "state" ) == PAUSE_S : VLC_FALSE ); p_input ? var_GetBool( p_input, "state" ) == PAUSE_S : VLC_FALSE );
if( p_input )
vlc_object_release( p_input );
p_input = NULL;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment