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 626869 - The RTP depayloader is sometimes sending partial frames down the pipeline without the DISCONT bit set
The RTP depayloader is sometimes sending partial frames down the pipeline wit...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
0.10.30
Other Linux
: Normal normal
: 0.10.31
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-08-13 19:17 UTC by American Dynamics
Modified: 2010-08-18 10:45 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
possible patch (4.09 KB, patch)
2010-08-16 09:32 UTC, Wim Taymans
none Details | Review
Patch to properly set the priv->discont flag post-packet-loss situations for any rtp*depay element. (681 bytes, patch)
2010-08-17 12:31 UTC, American Dynamics
none Details | Review

Description American Dynamics 2010-08-13 19:17:17 UTC
In our application we have noticed that sometimes there are partial packets (jpeg)  from the depayloader being sent down the pipeline without the 'priv->discont' flag being set properly.
Comment 1 Wim Taymans 2010-08-16 09:32:48 UTC
Created attachment 167946 [details] [review]
possible patch

This patch should fix it.
Comment 2 American Dynamics 2010-08-17 12:31:03 UTC
Created attachment 168063 [details] [review]
Patch to properly set the priv->discont flag post-packet-loss situations for any rtp*depay element.
Comment 3 American Dynamics 2010-08-17 12:33:56 UTC
Comment on attachment 168063 [details] [review]
Patch to properly set the priv->discont flag post-packet-loss situations for any rtp*depay element.

We are requesting that the ‘priv->discont’ flag be set in the base depayloader (patch attached).  Although we found this issue in the jpeg depayloader we would like to ensure that the DISCONT flag is reliably set on the first buffer to be sent by a rtp*depay element, following a packet loss event.  Without this change, the flag is only set if the first packet after the loss event happens to be the last one in a frame.  We want it to be set, regardless of how many packets arrive between the loss event and the end of the frame.
Comment 4 Wim Taymans 2010-08-18 10:45:23 UTC
commit 1f19649695c2f5c6313b33f0d40ffe5a3df70220
Author: American Dynamics <GStreamer-Bugs at tycosp.com>
Date:   Wed Aug 18 12:34:07 2010 +0200

    basertpdepay: don't clear the discont flag too early
    
    Set the discont flag when we receive a DISCONT buffer and only clear the discont
    state when we pushed out a DISCONT buffer.
    
    Fixes #626869