GNOME Bugzilla – Bug 511637
videorate doesn't handle a second newsegment correctly
Last modified: 2008-01-24 22:35:50 UTC
Videorate calculates it's next_ts as : videorate->next_ts = videorate->segment.accum + videorate->segment.start + gst_util_uint64_scale (videorate->out, videorate->to_rate_denominator * GST_SECOND, videorate->to_rate_numerator); But ->out (the number if frames outputed) is not reset when a newsegment is received thus if a second newsegment is received, next ts will be in the future of it's previous stream time relative to the new newsegment start. So if a stream played 30 frames a 30 frames per sec already.. and the new newsegmetn is starting at Sec 5.. rather then start at sec 5.. it will start a sec 6 .. When it should start at the newsegment start... The next_ts should also be reset when receiving a newsegment so that it starts at segment.start + segment.accum... (since intime is calculated as ts + segment.accum) Here's a patch to fix this issue...
Created attachment 103577 [details] [review] Patch to fix the problem agains CVS from 23 Jan 2008
*** This bug has been marked as a duplicate of 435633 ***