Commit 37558f4a authored by Sam Hocevar's avatar Sam Hocevar

Fix a potential corruption in release_input_thread().

If the media instance owns the input and libvlc_media_instance_release()
is called immediately after libvlc_media_instance_stop(), there is a
chance that we try to free the input resources before the thread is
effectively terminated. To avoid this, we call input_DestroyThread()
instead of vlc_object_release() at the end of release_input_thread() when
the media instance owns the input thread.
parent 5122c9d9
...@@ -92,11 +92,12 @@ static void release_input_thread( libvlc_media_instance_t *p_mi ) ...@@ -92,11 +92,12 @@ static void release_input_thread( libvlc_media_instance_t *p_mi )
/* We owned this one */ /* We owned this one */
input_StopThread( p_input_thread ); input_StopThread( p_input_thread );
input_DestroyThread( p_input_thread );
var_Destroy( p_input_thread, "drawable" ); var_Destroy( p_input_thread, "drawable" );
} }
else
vlc_object_release( p_input_thread ); vlc_object_release( p_input_thread );
p_mi->p_input_thread = NULL; p_mi->p_input_thread = 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