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 654434 - [basertppayload] RTP timestamps not longer reproducible
[basertppayload] RTP timestamps not longer reproducible
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.36
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-07-12 01:54 UTC by Olivier Crête
Modified: 2011-08-26 09:02 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
basertppayload: Make perfect timestamps reproducible across element restart (3.50 KB, patch)
2011-07-12 01:54 UTC, Olivier Crête
none Details | Review
Updated patch (3.12 KB, patch)
2011-07-12 02:20 UTC, Olivier Crête
none Details | Review
Further updated patch (3.54 KB, patch)
2011-08-24 18:24 UTC, Olivier Crête
committed Details | Review

Description Olivier Crête 2011-07-12 01:54:22 UTC
Created attachment 191761 [details] [review]
basertppayload: Make perfect timestamps reproducible across element restart

Without the perfect RTP timestamp machinery, the RTP timestamp can be computed directly from the running time of a buffer, but the perfect timestamp patch broke that assumption. This patch restores it by having the first perfect timestamp be the running time of that buffer and counting from there.
Comment 1 Olivier Crête 2011-07-12 02:20:54 UTC
Created attachment 191762 [details] [review]
Updated patch

Here is a patch that compiles, also, I'm not certain if the locking on the base_* variables I'm adding is correct, I guess somethign could be flowing during the playing->paused transition.. I'm also not sure if the base time could change at any other time...
Comment 2 Mark Nauwelaerts 2011-07-25 12:53:27 UTC
AFAICS, no locking has been added for the base_* variables, none seems needed either, though it's likely better/safer/cleaner to initialize base_offset in PAUSED_TO_READY (along with the rest of the init stuff).
Comment 3 Olivier Crête 2011-08-24 18:24:25 UTC
Created attachment 194650 [details] [review]
Further updated patch

I assume you mean in READY_TO_PAUSED ? I updated the patch to reset it there
Comment 4 Mark Nauwelaerts 2011-08-25 12:26:35 UTC
Either one should work, since it's already set in _init and subsequent state changes should be cyclic.

In any case, thanks, committed.

commit 791eeeb1a6d9221c09855eafb00fc19c73f6302f
Author: Olivier Crête <olivier.crete@collabora.com>
Date:   Fri Jul 8 23:06:46 2011 -0400

    basertppayload: Make perfect timestamps reproducible across element restart
    
    Without the perfect timestamp machinery, the RTP timestamp can be
    computed directly from the running time of a buffer, but the perfect
    timestamp patch broke that assumption. This patch restores it by
    having the first perfect timestamp be the running time of that buffer
    and counting from there.
    
    Fixes https://bugzilla.gnome.org/show_bug.cgi?id=654434