mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 08:41:07 +00:00
1cead20777
It was not working properly and the implementation of the smartencoder element was weird. This introduce a number of changes (which are all in one single commit because they basically all work together and lead to basically reimplementing the element): * Make smartencoder a bin so that the reencoding chain of elements are inside of it instead of not having any parent. Those elements were not be visible when dumping the pipeline which was very confusing. * Make encodebin create the right encoder with a capsfilter (and parser) to properly enforce the format specified by the user, and so that the encoder properties specified in the encoding profile are respected. * Use `decodebin` to do the decoding instead of selecting a decoder ourself and not plug any parser etc... * Ensure that negotiated format in the sinkpad of smart encoder is fixed through time when the user requested a non dynamic output * Add a parser at the beginning of the smart encoder * Handle errors when reencoding Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/751> |
||
---|---|---|
.. | ||
gstencodebin.c | ||
gstencodebin.h | ||
gstsmartencoder.c | ||
gstsmartencoder.h | ||
gststreamcombiner.c | ||
gststreamcombiner.h | ||
gststreamcombinerpad.h | ||
gststreamsplitter.c | ||
gststreamsplitter.h | ||
meson.build |