projects
/
platform
/
upstream
/
gstreamer.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
47127bd
)
media: wait for concurrent _prepare
author
Wim Taymans
<wim.taymans@collabora.co.uk>
Tue, 13 Nov 2012 10:54:17 +0000
(11:54 +0100)
committer
Wim Taymans
<wim.taymans@collabora.co.uk>
Tue, 13 Nov 2012 10:54:17 +0000
(11:54 +0100)
If a prepare is busy, wait for the result.
gst/rtsp-server/rtsp-media.c
patch
|
blob
|
history
diff --git
a/gst/rtsp-server/rtsp-media.c
b/gst/rtsp-server/rtsp-media.c
index
df65a15
..
1797dac
100644
(file)
--- a/
gst/rtsp-server/rtsp-media.c
+++ b/
gst/rtsp-server/rtsp-media.c
@@
-1206,6
+1206,9
@@
gst_rtsp_media_prepare (GstRTSPMedia * media)
if (media->status == GST_RTSP_MEDIA_STATUS_PREPARED)
goto was_prepared;
+ if (media->status == GST_RTSP_MEDIA_STATUS_PREPARING)
+ goto wait_status;
+
if (media->status != GST_RTSP_MEDIA_STATUS_UNPREPARED)
goto not_unprepared;
@@
-1292,6
+1295,7
@@
gst_rtsp_media_prepare (GstRTSPMedia * media)
case GST_STATE_CHANGE_FAILURE:
goto state_failed;
}
+wait_status:
g_rec_mutex_unlock (&media->state_lock);
/* now wait for all pads to be prerolled, FIXME, we should somehow be