summaryrefslogtreecommitdiffstats
path: root/gst/rtpmanager
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2009-05-05 16:48:37 +0200
committerWim Taymans <wim.taymans@collabora.co.uk>2009-05-05 16:50:14 +0200
commit46139253bcb1ddc32fc8987c194c40d9c622e993 (patch)
treed46fc3ac53cd55c4eb00d10d76ca800247809108 /gst/rtpmanager
parent179f5bb850d0df3841889d88e3ee7ee96cc914aa (diff)
downloadgst-plugins-bad-46139253bcb1ddc32fc8987c194c40d9c622e993.tar.gz
gst-plugins-bad-46139253bcb1ddc32fc8987c194c40d9c622e993.tar.bz2
gst-plugins-bad-46139253bcb1ddc32fc8987c194c40d9c622e993.zip
rtpssrcdemux: drop unexpected RTCP packets
We usually only get SR packets in our chain function but if an invalid packet contains the SR packet after the RR packet, we must not fail but simply ignore the malformed packet. Fixes #581375
Diffstat (limited to 'gst/rtpmanager')
-rw-r--r--gst/rtpmanager/gstrtpssrcdemux.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gst/rtpmanager/gstrtpssrcdemux.c b/gst/rtpmanager/gstrtpssrcdemux.c
index 64394c45..b9a279c2 100644
--- a/gst/rtpmanager/gstrtpssrcdemux.c
+++ b/gst/rtpmanager/gstrtpssrcdemux.c
@@ -483,7 +483,7 @@ gst_rtp_ssrc_demux_rtcp_chain (GstPad * pad, GstBuffer * buf)
NULL);
break;
default:
- goto invalid_rtcp;
+ goto unexpected_rtcp;
}
GST_DEBUG_OBJECT (demux, "received RTCP of SSRC %08x", ssrc);
@@ -511,6 +511,12 @@ invalid_rtcp:
gst_buffer_unref (buf);
return GST_FLOW_ERROR;
}
+unexpected_rtcp:
+ {
+ GST_DEBUG_OBJECT (demux, "dropping unexpected RTCP packet");
+ gst_buffer_unref (buf);
+ return GST_FLOW_OK;
+ }
create_failed:
{
GST_ELEMENT_ERROR (demux, STREAM, DECODE, (NULL),