summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2007-03-01 09:29:34 +0000
committerWim Taymans <wim.taymans@gmail.com>2007-03-01 09:29:34 +0000
commitdc212cdb3de27c3a42310342fcd5ee9fa78556a1 (patch)
tree10190408e9c1e4dd933876d5c49ab939a2f6a38e /gst
parent16490dc0cf0799493ca99a061264d7cc270eb3f4 (diff)
gst/rtsp/gstrtpdec.c: Make state change to PAUSED NO_PREROLL because that's what it will be in the future and rtspsrc...
Original commit message from CVS: * gst/rtsp/gstrtpdec.c: (gst_rtpdec_change_state): Make state change to PAUSED NO_PREROLL because that's what it will be in the future and rtspsrc relies on it. * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_change_state): Don't error out when we don't get an error from the state change function.
Diffstat (limited to 'gst')
-rw-r--r--gst/rtsp/gstrtpdec.c6
-rw-r--r--gst/rtsp/gstrtspsrc.c3
2 files changed, 5 insertions, 4 deletions
diff --git a/gst/rtsp/gstrtpdec.c b/gst/rtsp/gstrtpdec.c
index a4ea0d46..9320f7df 100644
--- a/gst/rtsp/gstrtpdec.c
+++ b/gst/rtsp/gstrtpdec.c
@@ -313,8 +313,6 @@ gst_rtpdec_change_state (GstElement * element, GstStateChange transition)
rtpdec = GST_RTPDEC (element);
switch (transition) {
- case GST_STATE_CHANGE_PAUSED_TO_READY:
- break;
default:
break;
}
@@ -322,7 +320,9 @@ gst_rtpdec_change_state (GstElement * element, GstStateChange transition)
ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
switch (transition) {
- case GST_STATE_CHANGE_PAUSED_TO_READY:
+ case GST_STATE_CHANGE_READY_TO_PAUSED:
+ case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+ ret = GST_STATE_CHANGE_NO_PREROLL;
break;
default:
break;
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index eb85370d..065c3d19 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -937,7 +937,7 @@ gst_rtspsrc_stream_configure_transport (GstRTSPStream * stream,
gst_bin_add (GST_BIN_CAST (src), stream->sess);
ret = gst_element_set_state (stream->sess, GST_STATE_PAUSED);
- if (ret != GST_STATE_CHANGE_SUCCESS)
+ if (ret == GST_STATE_CHANGE_FAILURE)
goto start_session_failure;
/* we stream directly to the manager, FIXME, pad names should not be
@@ -2660,6 +2660,7 @@ gst_rtspsrc_change_state (GstElement * element, GstStateChange transition)
break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
gst_rtspsrc_pause (rtspsrc);
+ ret = GST_STATE_CHANGE_NO_PREROLL;
break;
case GST_STATE_CHANGE_PAUSED_TO_READY:
gst_rtspsrc_close (rtspsrc);