summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorAleix Conchillo FlaquƩ <aleix@oblong.com>2014-10-03 17:28:06 -0700
committerWim Taymans <wtaymans@redhat.com>2014-10-21 11:33:01 +0200
commitbd392d72ee45b0311e4379a4910b27cfaefa1be8 (patch)
tree2575649b7f8745d08ab7f4e3bebc485ebaef34c1 /gst
parent0ee384b251ae6ee4ac18210f3a0555898543de5f (diff)
rtspsrc: set full stream caps on internal src TCP pads
Set the complete stream caps on the TCP internal src pads. Otherwise, ptdemux will not properly detect the caps change. https://bugzilla.gnome.org/show_bug.cgi?id=737868
Diffstat (limited to 'gst')
-rw-r--r--gst/rtsp/gstrtspsrc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index 6929cd166..10b9bc9d2 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -4443,6 +4443,7 @@ gst_rtspsrc_handle_data (GstRTSPSrc * src, GstRTSPMessage * message)
for (streams = src->streams; streams; streams = g_list_next (streams)) {
GstRTSPStream *ostream = (GstRTSPStream *) streams->data;
+ GstCaps *caps;
stream_id =
g_strdup_printf ("%s/%d", g_checksum_get_string (cs), ostream->id);
@@ -4451,6 +4452,11 @@ gst_rtspsrc_handle_data (GstRTSPSrc * src, GstRTSPMessage * message)
g_free (stream_id);
gst_rtspsrc_stream_push_event (src, ostream, event);
+
+ if ((caps = stream_get_caps_for_pt (ostream, ostream->default_pt))) {
+ gst_pad_push_event (ostream->channelpad[0], gst_event_new_caps (caps));
+ gst_caps_unref (caps);
+ }
}
g_checksum_free (cs);