encodebin: Add APIs to set element properties on encoding profiles
authorThibault Saunier <tsaunier@igalia.com>
Fri, 20 Nov 2020 21:35:49 +0000 (18:35 -0300)
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Wed, 10 Feb 2021 15:56:26 +0000 (15:56 +0000)
commita8fca8d0401238eacf988f32b74c0e448454acbe
treef54da229ef142a826a8c628e828a4ab4a6b0f023
parenta8fdaba2ab6b6f3ca6fb031a735c2239dad23f09
encodebin: Add APIs to set element properties on encoding profiles

User often want to set encoder properties on encoding profiles,
this introduces a way to easily 'preset' properties when defining the
profile. This uses GstStructure to define those properties the same
way it is done in `splitmux` for example as it makes simple to handle.

This also defines a more complex structure type where we can map a set
of properties to set depending on the muxer/encoder factory that has
been picked by EncodeBin so it is quite flexible.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1002>
gst-libs/gst/pbutils/encoding-profile.c
gst-libs/gst/pbutils/encoding-profile.h
gst/encoding/gstencodebasebin.c
tests/validate/encodebin/set-encoder-properties.validatetest [new file with mode: 0644]
tests/validate/meson.build