From fc0c7eb76b20f44d11b6e95abd47e1a0bde54713 Mon Sep 17 00:00:00 2001 From: Aleix Conchillo FlaquƩ Date: Fri, 3 Oct 2014 17:28:06 -0700 Subject: 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 --- gst/rtsp/gstrtspsrc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index e7573c7a2..f919c7fb0 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); -- cgit v1.2.3