encodebin: Ensure that a single segment is pushed into encoders
authorThibault Saunier <tsaunier@igalia.com>
Fri, 30 Aug 2019 21:16:35 +0000 (17:16 -0400)
committerThibault Saunier <tsaunier@gnome.org>
Tue, 5 Nov 2019 18:03:09 +0000 (18:03 +0000)
commita724f9ddfb5d1cec8f3ef6eb720395f96b78b026
treedf921abb5b97bb100b3d4f98414f71c19521dd4a
parentdaea137c9db1809233dfa79e05bd416358e526e9
encodebin: Ensure that a single segment is pushed into encoders

Following the [design document] encodebin needs to handle sources that
output multiple streams, for that purpose and to make it simpler,
we ensure that a single segment is outputted to the encoders by using
an `identity single-segment=true` at the beginning of streams chains.

Added API to enable or disable the use of that new feature.
Added support for the encoding profile parser for that new property,
keeping backward compatibility

[design document]: https://gstreamer.freedesktop.org/documentation/additional/design/encoding.html?gi-language=c#rendering-timelines
gst-libs/gst/pbutils/encoding-profile.c
gst-libs/gst/pbutils/encoding-profile.h
gst/encoding/gstencodebin.c