gst-plugins-good: videomixer: Make sure to send EOS if the buffer end time equals the segment end time

Tim-Philipp Müller t.i.m at zen.co.uk
Wed Aug 7 03:21:01 PDT 2013


On Wed, 2013-08-07 at 08:53 +0200, Sebastian Dröge wrote:
> On Di, 2013-08-06 at 03:27 -0700, Thibault Saunier wrote:
> > +
> > +  if (output_start_time >= mix->segment.stop ||
> > +      output_end_time == mix->segment.stop) {
> 
> I don't think this is correct. It should only EOS if the start time is
> >= the segment.stop. If only end time is >= segment.stop it should
> output a buffer that goes until segment.stop and only then do EOS.

Also, this commit makes the videomixer unit test fail:

$ make elements/videomixer.check-norepeat
Running suite(s): videomixer
72%: Checks: 11, Failures: 3, Errors: 0
gstconsistencychecker.c:123:F:general:test_event:0: Event received after
EOS
elements/videomixer.c:368:F:general:test_play_twice:0: Assertion
'play_count==2' failed: play_count==0, 2==2
elements/videomixer.c:457:F:general:test_play_twice_then_add_and_play_again:0: Assertion 'play_count==2' failed: play_count==0, 2==2
make: *** [elements/videomixer.check-norepeat] Error 3

Cheers
 -Tim



More information about the gstreamer-devel mailing list