diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 7 |
2 files changed, 10 insertions, 4 deletions
@@ -1,3 +1,10 @@ +2008-04-21 Wim Taymans <wim.taymans@collabora.co.uk> + + * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init), (request_pt_map), + (gst_rtspsrc_configure_caps): + Ref caps as the return value for the request_pt_map signal. + Remove some caps weirdness when configuring a stream. See #528245. + 2008-04-18 Tim-Philipp Müller <tim at centricular dot net> * tests/icles/gdkpixbufsink-test.c: diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index ca32b4b0..069b6d37 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -1650,6 +1650,8 @@ request_pt_map (GstElement * sess, guint session, guint pt, GstRTSPSrc * src) goto unknown_stream; caps = stream->caps; + if (caps) + gst_caps_ref (caps); GST_RTSP_STATE_UNLOCK (src); return caps; @@ -2287,10 +2289,7 @@ gst_rtspsrc_configure_caps (GstRTSPSrc * src, GstSegment * segment) gst_caps_set_simple (caps, "play-speed", G_TYPE_DOUBLE, play_speed, NULL); gst_caps_set_simple (caps, "play-scale", G_TYPE_DOUBLE, play_scale, NULL); - if (stream->caps != caps) { - gst_caps_unref (stream->caps); - stream->caps = caps; - } + stream->caps = caps; } GST_DEBUG_OBJECT (src, "stream %p, caps %" GST_PTR_FORMAT, stream, caps); } |