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.
This commit is contained in:
Wim Taymans 2008-04-21 08:21:14 +00:00
parent 194229250a
commit f9646f3722
2 changed files with 10 additions and 4 deletions

View file

@ -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> 2008-04-18 Tim-Philipp Müller <tim at centricular dot net>
* tests/icles/gdkpixbufsink-test.c: * tests/icles/gdkpixbufsink-test.c:

View file

@ -1650,6 +1650,8 @@ request_pt_map (GstElement * sess, guint session, guint pt, GstRTSPSrc * src)
goto unknown_stream; goto unknown_stream;
caps = stream->caps; caps = stream->caps;
if (caps)
gst_caps_ref (caps);
GST_RTSP_STATE_UNLOCK (src); GST_RTSP_STATE_UNLOCK (src);
return caps; 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-speed", G_TYPE_DOUBLE, play_speed, NULL);
gst_caps_set_simple (caps, "play-scale", G_TYPE_DOUBLE, play_scale, NULL); gst_caps_set_simple (caps, "play-scale", G_TYPE_DOUBLE, play_scale, NULL);
if (stream->caps != caps) { stream->caps = caps;
gst_caps_unref (stream->caps);
stream->caps = caps;
}
} }
GST_DEBUG_OBJECT (src, "stream %p, caps %" GST_PTR_FORMAT, stream, caps); GST_DEBUG_OBJECT (src, "stream %p, caps %" GST_PTR_FORMAT, stream, caps);
} }