After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 741398 - rtpptdemux: errors out on invalid rtp packet, e.g. if the version check failed (0 != 2)
rtpptdemux: errors out on invalid rtp packet, e.g. if the version check faile...
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2014-12-11 14:58 UTC by Fredrik Wigert
Modified: 2014-12-25 15:54 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Fredrik Wigert 2014-12-11 14:58:57 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
Comment 1 Tim-Philipp Müller 2014-12-20 11:39:06 UTC
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.
Comment 2 Tim-Philipp Müller 2014-12-25 15:54:33 UTC
Thanks for the bug report. Should be fixed now:

commit c62209d050c146e1f6ac674fa96c162d3dc35399
Author: Tim-Philipp Müller <>
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).