mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 13:02:29 +00:00
media: wait for concurrent _prepare
If a prepare is busy, wait for the result.
This commit is contained in:
parent
47127bd270
commit
dfe3efef74
1 changed files with 4 additions and 0 deletions
|
@ -1206,6 +1206,9 @@ gst_rtsp_media_prepare (GstRTSPMedia * media)
|
||||||
if (media->status == GST_RTSP_MEDIA_STATUS_PREPARED)
|
if (media->status == GST_RTSP_MEDIA_STATUS_PREPARED)
|
||||||
goto was_prepared;
|
goto was_prepared;
|
||||||
|
|
||||||
|
if (media->status == GST_RTSP_MEDIA_STATUS_PREPARING)
|
||||||
|
goto wait_status;
|
||||||
|
|
||||||
if (media->status != GST_RTSP_MEDIA_STATUS_UNPREPARED)
|
if (media->status != GST_RTSP_MEDIA_STATUS_UNPREPARED)
|
||||||
goto not_unprepared;
|
goto not_unprepared;
|
||||||
|
|
||||||
|
@ -1292,6 +1295,7 @@ gst_rtsp_media_prepare (GstRTSPMedia * media)
|
||||||
case GST_STATE_CHANGE_FAILURE:
|
case GST_STATE_CHANGE_FAILURE:
|
||||||
goto state_failed;
|
goto state_failed;
|
||||||
}
|
}
|
||||||
|
wait_status:
|
||||||
g_rec_mutex_unlock (&media->state_lock);
|
g_rec_mutex_unlock (&media->state_lock);
|
||||||
|
|
||||||
/* now wait for all pads to be prerolled, FIXME, we should somehow be
|
/* now wait for all pads to be prerolled, FIXME, we should somehow be
|
||||||
|
|
Loading…
Reference in a new issue