mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-05 17:09:48 +00:00
rtspsrc: Push RTCP caps on the RTCP pads
Otherwise we will get not-negotiated later from rtpbin, and will never be able to send RTCP packets back to the server. Note that error flow returns from the RTCP pads are ignored, that's why it didn't fail more visible before.
This commit is contained in:
parent
788074733c
commit
297d808acc
1 changed files with 31 additions and 1 deletions
|
@ -4586,7 +4586,37 @@ gst_rtspsrc_handle_data (GstRTSPSrc * src, GstRTSPMessage * message)
|
||||||
gst_rtspsrc_stream_push_event (src, ostream, event);
|
gst_rtspsrc_stream_push_event (src, ostream, event);
|
||||||
|
|
||||||
if ((caps = stream_get_caps_for_pt (ostream, ostream->default_pt))) {
|
if ((caps = stream_get_caps_for_pt (ostream, ostream->default_pt))) {
|
||||||
gst_rtspsrc_stream_push_event (src, ostream, gst_event_new_caps (caps));
|
/* only streams that have a connection to the outside world */
|
||||||
|
if (ostream->setup) {
|
||||||
|
if (ostream->udpsrc[0]) {
|
||||||
|
gst_element_send_event (ostream->udpsrc[0],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
} else if (ostream->channelpad[0]) {
|
||||||
|
if (GST_PAD_IS_SRC (ostream->channelpad[0]))
|
||||||
|
gst_pad_push_event (ostream->channelpad[0],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
else
|
||||||
|
gst_pad_send_event (ostream->channelpad[0],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
}
|
||||||
|
|
||||||
|
gst_caps_unref (caps);
|
||||||
|
caps = gst_caps_new_empty_simple ("application/x-rtcp");
|
||||||
|
|
||||||
|
if (ostream->udpsrc[1]) {
|
||||||
|
gst_element_send_event (ostream->udpsrc[1],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
} else if (ostream->channelpad[1]) {
|
||||||
|
if (GST_PAD_IS_SRC (ostream->channelpad[1]))
|
||||||
|
gst_pad_push_event (ostream->channelpad[1],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
else
|
||||||
|
gst_pad_send_event (ostream->channelpad[1],
|
||||||
|
gst_event_new_caps (caps));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
gst_caps_unref (caps);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Push a SEGMENT event if we don't have one pending, if we have one
|
/* Push a SEGMENT event if we don't have one pending, if we have one
|
||||||
|
|
Loading…
Reference in a new issue