The src caps of the libde265 is now fixed to I420, and so if the
stream is other format, such as 4:4:4 or 10 bits format, the pipeline
will crash because the dowstream element accesses the video buffer as
I420 format.
We now restrain the input caps to "main" profile, which only contains
4:2:0 8 bits stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5596>
"long-name": "HEVC/H.265 decoder",
"pad-templates": {
"sink": {
- "caps": "video/x-h265:\n stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n alignment: { (string)au, (string)nal }\n",
+ "caps": "video/x-h265:\n stream-format: { (string)hvc1, (string)hev1, (string)byte-stream }\n alignment: { (string)au, (string)nal }\n profile: main\n",
"direction": "sink",
"presence": "always"
},
GST_PAD_ALWAYS,
GST_STATIC_CAPS
("video/x-h265, stream-format=(string) { hvc1, hev1, byte-stream }, "
- "alignment=(string) { au, nal }")
+ "alignment=(string) { au, nal }, "
+ /* TODO: Can support more profiles by adding the according
+ output formats in src caps. */
+ "profile=(string) main")
);
static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",