[Bug 796862] Videomixer fails with assert if its sink pad offset is set to negative value and the absolute value of offset is greater than pipeline running time

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Jul 24 16:26:40 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=796862

--- Comment #5 from Yury Mukhitov <muhitov at gmail.com> ---
More information on what I’m trying to achieve.

The application is processing several video streams in parallel (reading VP8
video from rtp stream files). All streams get decoded then routed to
‘videomixer’ (or ‘compositor’ as Tim-Philipp Müller suggested) to create single
video stream with grid-like layout, each video in separate grid cell
(position). At some point at pipeline playback there is application-level
(out-of-band) ‘pause’ event of arbitrary duration. This event signifies that
some portion of media has to be skipped.

To implement the pause I update all ‘videomixer’ (or ‘compositor’) sink pads
offset to negative value abs()-equal to the ‘pause’ duration. This (from my
understanding) commands ‘videomixer’ to discard some video frames treating
those being ‘late’.

If pause happens to occur early in pipeline playback and pause duration is
longer than current pipeline running time then ‘videomixer’ (and ‘compositor’)
element does an assert as described above.

Can you please hint me if the approach ‘pause’ handling I’m implementing is a
reasonable one?

(The ‘videotestsrc->‘videomixer’ (compositor)->’ximagesink’ pipeline above is a
simplified pipeline to demonstrate the problem I face.)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list