summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHou Qi <qi.hou@nxp.com>2021-03-01 14:32:40 +0800
committerTim-Philipp Müller <tim@centricular.com>2021-03-03 16:42:14 +0000
commit60f36237aec656d5c4a7dab92fb078ff36f39b8c (patch)
tree3596f9fe501d241da67c030931b19e1054d73f9c
parent613e0a50fe0c3bd87b8e866ab65bc497dc8e9fc8 (diff)
downloadgstreamer-plugins-good-60f36237aec656d5c4a7dab92fb078ff36f39b8c.tar.gz
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/890>
-rw-r--r--sys/v4l2/gstv4l2videodec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/v4l2/gstv4l2videodec.c b/sys/v4l2/gstv4l2videodec.c
index 1420bd362..2eb07571e 100644
--- a/sys/v4l2/gstv4l2videodec.c
+++ b/sys/v4l2/gstv4l2videodec.c
@@ -1214,7 +1214,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)) {