[vlc-devel] [PATCH 1/2] mediacodec: do not accept codecs declaring no capabilities

Felix Abecassis felix.abecassis at gmail.com
Wed Feb 19 16:36:09 CET 2014


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.
---
 modules/codec/omxil/android_mediacodec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/codec/omxil/android_mediacodec.c b/modules/codec/omxil/android_mediacodec.c
index 9a38c24..0796fe0 100644
--- a/modules/codec/omxil/android_mediacodec.c
+++ b/modules/codec/omxil/android_mediacodec.c
@@ -323,7 +323,7 @@ static int OpenDecoder(vlc_object_t *p_this)
                 /* The mime type is matching for this component. We
                    now check if the capabilities of the codec is
                    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) {
                         jobject profile_level = (*env)->GetObjectArrayElement(env, profile_levels, i);
 
-- 
1.8.3.2




More information about the vlc-devel mailing list