mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-10 17:35:59 +00:00
basesink: don't unlock mutex that is not locked
Fixes 'Attempt to unlock mutex that was not locked' warning with newer GLibs when sink is shut down in certain situations. Triggered by the decodebin test_reuse_without_decoders unit test in -base sometimes, esp. on slower machines.
This commit is contained in:
parent
1affe7ef07
commit
989e97d1dd
1 changed files with 6 additions and 1 deletions
|
@ -1507,7 +1507,7 @@ gst_base_sink_commit_state (GstBaseSink * basesink)
|
|||
/* state change function could have been executed and we could be
|
||||
* flushing now */
|
||||
if (G_UNLIKELY (basesink->flushing))
|
||||
goto stopping;
|
||||
goto stopping_unlocked;
|
||||
}
|
||||
GST_DEBUG_OBJECT (basesink, "posting PLAYING state change message");
|
||||
/* FIXME, we released the PREROLL lock above, it's possible that this
|
||||
|
@ -1547,6 +1547,11 @@ nothing_pending:
|
|||
GST_OBJECT_UNLOCK (basesink);
|
||||
return TRUE;
|
||||
}
|
||||
stopping_unlocked:
|
||||
{
|
||||
GST_OBJECT_LOCK (basesink);
|
||||
goto stopping;
|
||||
}
|
||||
stopping:
|
||||
{
|
||||
/* app is going to READY */
|
||||
|
|
Loading…
Reference in a new issue