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 773905 - rtpjitterbuffer: fix bug in reschedule_timer
rtpjitterbuffer: fix bug in reschedule_timer
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other All
: Normal major
: 1.10.3
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-11-03 16:41 UTC by Håvard Graff (hgr)
Modified: 2016-12-05 09:18 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
test and fix (5.71 KB, patch)
2016-11-03 16:41 UTC, Håvard Graff (hgr)
committed Details | Review

Description Håvard Graff (hgr) 2016-11-03 16:41:09 UTC
Created attachment 339054 [details] [review]
test and fix

The new timeout is always going to be (timeout + delay), however, the
old behavior compared the current timeout to just (timeout), basically
being (delay) off.

This would happen if rtx-delay == rtx-retry-timeout, with the result that
a second rtx attempt for any buffers would be scheduled immediately instead
of after rtx-delay ms.

Simply calculate (new_timeout = timeout + delay) and then use that instead.
Comment 1 Sebastian Dröge (slomo) 2016-11-04 14:41:24 UTC
commit bea35f97c8eeca4f78a99d61d4bd04a2be2124cf
Author: Havard Graff <havard.graff@gmail.com>
Date:   Thu Nov 3 16:33:53 2016 +0100

    rtpjitterbuffer: fix bug in reschedule_timer
    
    The new timeout is always going to be (timeout + delay), however, the
    old behavior compared the current timeout to just (timeout), basically
    being (delay) off.
    
    This would happen if rtx-delay == rtx-retry-timeout, with the result that
    a second rtx attempt for any buffers would be scheduled immediately instead
    of after rtx-delay ms.
    
    Simply calculate (new_timeout = timeout + delay) and then use that instead.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=773905