Commit 93f201fb authored by Felix Abecassis's avatar Felix Abecassis Committed by Jean-Baptiste Kempf

mediacodec: do not accept codecs declaring no capabilities

Previously, if profileLevels was NULL or length 0, the codec was
accepted.  Some devices have several codecs for mime type video/avc,
the first one is rejected based on the profile capability but the
second one was accepted since there was no capability declared. Since
the actual capability of the second codec was not better than the
first one, decoding failed.
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 50f1dcb7
...@@ -323,7 +323,7 @@ static int OpenDecoder(vlc_object_t *p_this) ...@@ -323,7 +323,7 @@ static int OpenDecoder(vlc_object_t *p_this)
/* The mime type is matching for this component. We /* The mime type is matching for this component. We
now check if the capabilities of the codec is now check if the capabilities of the codec is
matching the video format. */ matching the video format. */
if (p_dec->fmt_in.i_codec == VLC_CODEC_H264 && fmt_profile && profile_levels_len) { if (p_dec->fmt_in.i_codec == VLC_CODEC_H264 && fmt_profile) {
for (int i = 0; i < profile_levels_len && !found; ++i) { for (int i = 0; i < profile_levels_len && !found; ++i) {
jobject profile_level = (*env)->GetObjectArrayElement(env, profile_levels, i); jobject profile_level = (*env)->GetObjectArrayElement(env, profile_levels, i);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment