GNOME Bugzilla – Bug 654434
[basertppayload] RTP timestamps not longer reproducible
Last modified: 2011-08-26 09:02:59 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.
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...
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).
Created attachment 194650 [details] [review] Further updated patch I assume you mean in READY_TO_PAUSED ? I updated the patch to reset it there
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