summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2008-04-21 08:21:14 +0000
committerWim Taymans <wim.taymans@gmail.com>2008-04-21 08:21:14 +0000
commitf9646f3722b5a2ee6f6ecdeb47b4dc39980c918a (patch)
tree415e2efd1cf9ef65504189b8f7349fe9222fa8b1 /gst
parent194229250adc499cc0b20075fd26566549c04ffc (diff)
gst/rtsp/gstrtspsrc.c: Ref caps as the return value for the request_pt_map signal.
Original commit message from CVS: * 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.
Diffstat (limited to 'gst')
-rw-r--r--gst/rtsp/gstrtspsrc.c7
1 files changed, 3 insertions, 4 deletions
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);
}