mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 18:20:44 +00:00
rtpfunnel: copy caps before sending them in a caps-event
Reason being we don't want downstream to own a ref to our internal caps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/681>
This commit is contained in:
parent
aa34c29d3b
commit
f5fc34ae83
1 changed files with 4 additions and 1 deletions
|
@ -155,6 +155,7 @@ static void
|
||||||
gst_rtp_funnel_send_sticky (GstRtpFunnel * funnel, GstPad * pad)
|
gst_rtp_funnel_send_sticky (GstRtpFunnel * funnel, GstPad * pad)
|
||||||
{
|
{
|
||||||
GstEvent *stream_start;
|
GstEvent *stream_start;
|
||||||
|
GstCaps *caps;
|
||||||
GstEvent *caps_ev;
|
GstEvent *caps_ev;
|
||||||
|
|
||||||
if (!funnel->send_sticky_events)
|
if (!funnel->send_sticky_events)
|
||||||
|
@ -166,7 +167,9 @@ gst_rtp_funnel_send_sticky (GstRtpFunnel * funnel, GstPad * pad)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
caps_ev = gst_event_new_caps (funnel->srccaps);
|
caps = gst_caps_copy (funnel->srccaps);
|
||||||
|
caps_ev = gst_event_new_caps (caps);
|
||||||
|
gst_caps_unref (caps);
|
||||||
if (caps_ev && !gst_pad_push_event (funnel->srcpad, caps_ev)) {
|
if (caps_ev && !gst_pad_push_event (funnel->srcpad, caps_ev)) {
|
||||||
GST_ERROR_OBJECT (funnel, "Could not push caps");
|
GST_ERROR_OBJECT (funnel, "Could not push caps");
|
||||||
goto done;
|
goto done;
|
||||||
|
|
Loading…
Reference in a new issue