summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--gst/rtsp/gstrtspsrc.c7
2 files changed, 10 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6ac98a32..eab9c248 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);
}