GNOME Bugzilla – Bug 701519
videomixer: pushes an incorrect segment event when all its sink pads are EOS
Last modified: 2013-06-12 16:27:40 UTC
Sebastian Dröge asked me to implement that in commit 2d3910fc7901b5f29e16c0fdd4e9067a6d7f66fe , but I think it is not correct. May'be it should indeed push a segment event at that moment, but not with these values. Reverting this patch solves a problem I was experiencing here, with videomixer hanging when going from one clip to another. What do you think ?
I should have mentionned that it might also be because GNLComposition compute the accumulation (segment->base) uppon segment event rather then EOS event. There is multiple segment event per actual segment, but only 1 EOS. Just to double check (because my first impression is that the values should be good), it would be nice to move the base time calculation into the EOS handling. Will require caching the last seen segment (this mean the segment event that comes before EOS will be considered as an update from now on instead of being accumulated), and using that last segment to compute the new base.
So the event's values are correct and you just do accumulation on every segment event in gnonlin? In gnonlin's case it would make sense to just do the accumulation at EOS and nowhere else.
commit 01cc493944d1c0036d80243bea4d63ea79c33013 Author: Sebastian Dröge <slomo@circular-chaos.org> Date: Wed Jun 12 18:23:46 2013 +0200 Revert "videomixer: When all sinkpads are eos, update output segment stop and forward it" This reverts commit 2d3910fc7901b5f29e16c0fdd4e9067a6d7f66fe. It's not solving any problem and instead causes code to fall apart. https://bugzilla.gnome.org/show_bug.cgi?id=701519