GNOME Bugzilla – Bug 703499
videomixer: take the newly introduced segment->offset into account.
Last modified: 2013-09-20 14:39:46 UTC
I observed cases where seeking with SEEK_TYPE_NONE in gnonlin would make the collectpads have a non negative segment offset. This caused the conversion to running time to return -1, and thus to make videomixer assert. In my opinion, the check had to be updated because that offset is a new introduction. Also, I think the logic is better, we check start against segment->start and stop against segment->stop, instead of the weird logic that was before and that actually let one case pass, the one where start_time would be inferior to segment->start but not end_time.
Created attachment 248264 [details] [review] videomixer: take the newly introduced segment->offset into account. Also, make the check for buffer inside segment better.
(In reply to comment #0) > I observed cases where seeking with SEEK_TYPE_NONE in gnonlin would make > the collectpads have a non negative segment offset. Non zero segment offset excuse me.
Review of attachment 248264 [details] [review]: ::: gst/videomixer/videomixer2.c @@ +710,3 @@ /* Check if it's inside the segment */ + if (start_time < segment->start + segment->offset + || end_time >= segment->stop + segment->offset) { Independent of the addition of offset, this is not correct. A buffer can still be inside the segment if the start time is before the actual start (i.e. if the end time is after the start), and also if the end time is after the end (i.e. if the start time is before the end).
Created attachment 248311 [details] [review] videomixer: Take the newly introduced segment offset into account. Otherwise, after seeks with SEEK_FLAG_NONE, the conversion to running time could return -1.
So what does happen here with a SEEK_FLAG_NONE seek? offset becomes the current running time, start becomes 0? What happens to stop?
What should we do about this here? I'm sure there still is a problem somewhere but can't do much without more details
We should close that one I believe, the problem we experienced has been fixed.