summaryrefslogtreecommitdiffstats
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
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
-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),