mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
rtsp-media: fix state_lock not locked again when preroll fails
https://bugzilla.gnome.org/show_bug.cgi?id=761399
This commit is contained in:
parent
2af81aa56d
commit
aea624b6f8
1 changed files with 6 additions and 4 deletions
|
@ -3465,6 +3465,7 @@ static gboolean
|
||||||
default_unsuspend (GstRTSPMedia * media)
|
default_unsuspend (GstRTSPMedia * media)
|
||||||
{
|
{
|
||||||
GstRTSPMediaPrivate *priv = media->priv;
|
GstRTSPMediaPrivate *priv = media->priv;
|
||||||
|
gboolean preroll_ok;
|
||||||
|
|
||||||
switch (priv->suspend_mode) {
|
switch (priv->suspend_mode) {
|
||||||
case GST_RTSP_SUSPEND_MODE_NONE:
|
case GST_RTSP_SUSPEND_MODE_NONE:
|
||||||
|
@ -3478,12 +3479,13 @@ default_unsuspend (GstRTSPMedia * media)
|
||||||
gst_rtsp_media_set_status (media, GST_RTSP_MEDIA_STATUS_PREPARING);
|
gst_rtsp_media_set_status (media, GST_RTSP_MEDIA_STATUS_PREPARING);
|
||||||
if (!start_preroll (media))
|
if (!start_preroll (media))
|
||||||
goto start_failed;
|
goto start_failed;
|
||||||
|
|
||||||
g_rec_mutex_unlock (&priv->state_lock);
|
g_rec_mutex_unlock (&priv->state_lock);
|
||||||
|
preroll_ok = wait_preroll (media);
|
||||||
if (!wait_preroll (media))
|
|
||||||
goto preroll_failed;
|
|
||||||
|
|
||||||
g_rec_mutex_lock (&priv->state_lock);
|
g_rec_mutex_lock (&priv->state_lock);
|
||||||
|
|
||||||
|
if (!preroll_ok)
|
||||||
|
goto preroll_failed;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue