v4l2videodec: Do not expose profiles/levels in vp8/vp9 template caps

Vp8/vp9 supported profiles/levels are listed in decoder sink caps, but
there is no parser for these two formats and the demuxers also don't have
these information. It causes negotiation fail between demuxers and decoder
when check caps "accept = gst_caps_is_subset (caps, template_caps);".
To fix this, need to remove profiles/levels for vp8/vp9 formats in decoder
sink caps.

Fix #854

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/887>
This commit is contained in:
Hou Qi 2021-03-01 14:32:40 +08:00 committed by GStreamer Marge Bot
parent 614f4ec5b5
commit fc5a1e468b

View file

@ -1231,7 +1231,8 @@ gst_v4l2_video_dec_register (GstPlugin * plugin, const gchar * basename,
continue;
}
if (cdata->codec != NULL) {
if (cdata->codec != NULL && cdata->codec != gst_v4l2_vp8_get_codec ()
&& cdata->codec != gst_v4l2_vp9_get_codec ()) {
GValue value = G_VALUE_INIT;
if (gst_v4l2_codec_probe_levels (cdata->codec, video_fd, &value)) {