[Bug 748946] New: Add "aggregate-eos" property to videoaggregator pads
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue May 5 05:51:51 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=748946
Bug ID: 748946
Summary: Add "aggregate-eos" property to videoaggregator pads
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: enhancement
Priority: Normal
Component: gst-plugins-bad
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: nirbheek.chauhan at gmail.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created attachment 302921
--> https://bugzilla.gnome.org/attachment.cgi?id=302921&action=edit
videoaggregator: New property 'aggregate-eos'
Description: When a videoaggregator pad with this property set receives EOS,
instead of going EOS, it will keep passing the last frame to the aggregator;
effectively causing the pad to continue to "aggregate (despite) eos".
This is useful in a number of cases, such as:
1) Implementing a "slideshow" with a specific list of pictures being displayed
one after the other for a specific amount of time each. One can send a single
frame which will be repeated instead of generating multiple frames to send to
videoaggregator.
2) Implementing an application that has to seamlessly switch between multiple
video files—repeating the last frame for 1-2 frames helps avoid the aggregator
falling back to generating a "background" frame (which is a
black/white/checkerboard pattern frame) while the next pad is connected.
Repeating 1-2 frames is almost unnoticeable, but a black frame is immediately
noticeable as a glitch.
In theory, this can be avoided by connecting the next pad in advance and
setting the correct pad offset, but in reality, with A/V files one has to
ensure that the audio is stitched perfectly, and that usually means that the
video cannot be, and one needs to repeat/drop frames to keep A/V sync.
Obvious caveat: If one sets all the sink pads of a videoaggregator to
"aggregate-eos", the element will never pass on EOS downstream, and the
pipeline will never stop playing. One has to either take care and not set that
on the last pad that will be requested on the element, or manually send an EOS
event to the element.
--
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