[Bug 691400] New: rtpbin rtpsession->RTCP thread is starting to early for ntp-sync

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Jan 9 04:16:01 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=691400
  GStreamer | gst-plugins-good | unspecified

           Summary: rtpbin rtpsession->RTCP thread is starting to early
                    for ntp-sync
    Classification: Platform
           Product: GStreamer
           Version: unspecified
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: enhancement
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: thomas at roosesweb.de
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Created an attachment (id=233057)
 View: https://bugzilla.gnome.org/attachment.cgi?id=233057
 Review: https://bugzilla.gnome.org/review?bug=691400&attachment=233057

RTCP startup delay patch

I want to use the ntp-sync property on the rtpbin element in order to get sync
audio playback on ntp synced devices.
I had a problem (see here:
http://lists.freedesktop.org/archives/gstreamer-devel/2012-December/038542.html
and
http://lists.freedesktop.org/archives/gstreamer-devel/2013-January/038673.html)
that the sending rtpbin is sending at first an RTCP SR or an RTCP RR randomly.
I looked into the code - the problem is that the RTCP and RTP thread are
starting in parallel. If the RTP thread has received RTP data from the RTP
payloader before RTCP thread is started it will send an SR. 
If the RTP thread has received no data from the RTP payloader it will send an
RR.
According to the rfc3550 this behavior is correct.
But if you want to use the ntp-sync mechanism on the receiver side it's
important that you have a SR with the RTP to NTP time correlation before you
start the playout - otherwise it will wait for the next RTCP packet (first
SR-report), which is sended with a min delay of 2s to get that correlation. And
if your playout has started already this time-jump will be audible...

I made a simple patch to delay the startup of the RTCP thread with a startup
delay timer (default 20ms) which will be stopped if either RTP data is ready to
send or received before the timer ends.

I would like to have at least some feedback on my ideas (am I right?) or have
some property to enable my patch in a future version of GStreamer.

cheers Thomas

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list