GNOME Bugzilla – Bug 741398
rtpptdemux: errors out on invalid rtp packet, e.g. if the version check failed (0 != 2)
Last modified: 2014-12-25 15:54:33 UTC
If the first packet received by rtpptdemux is "Unknown RTP version 0" (linphone does this), a series of errors occur: version check failed (0 != 2) - gstrtpbuffer.c:442 Could not decode stream. Dropping invalid RTP payload - gstrtpptdemux.c:454 Internal data flow error. - gstbasesrc.c:2855 streaming task paused, reason error (-5) Linphone used: Built from latest as of 11 dec 2014. Calling with PCMA and Telephone-Event. Pipeline used: udpsrc -> rtpptdemux -> capsfilter -> rtpbin -> valve -> rtppcmadepay -> alawdec -> wavenc -> filesink \-> capsfilter \-> rtpdtmfdepay -> fakesink
This was changed from non-fatal to fatal by Wim in 2007, saying /* this is fatal and should be filtered earlier */ but it's not clear to me where it should've been filtered earlier. udpsrc doesn't know about RTP, and there might be no other RTP-element in front.
Thanks for the bug report. Should be fixed now: commit c62209d050c146e1f6ac674fa96c162d3dc35399 Author: Tim-Philipp Müller <tim@centricular.com> Date: Thu Dec 25 15:48:04 2014 +0000 rtpptdemux: just drop invalid rtp packets instead of erroring out Apparently linphone sends an invalid RTP packet as very first packet. We want to ignore that instead of erroring out (same for any other invalid packets really). https://bugzilla.gnome.org/show_bug.cgi?id=741398