[vlc-commits] mediacodec: fix crash when color-format is invalid
Thomas Guillem
git at videolan.org
Fri Oct 24 16:01:40 CEST 2014
vlc | branch: master | Thomas Guillem <tom at gllm.fr> | Thu Oct 23 07:01:21 2014 +0000| [40aa75316d6f3edc457354ac26295e292a8b1f9f] | committer: Jean-Baptiste Kempf
mediacodec: fix crash when color-format is invalid
Fail if GetVlcChromaFormat return 0.
(It'll throw a HardwareAccelerationError)
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=40aa75316d6f3edc457354ac26295e292a8b1f9f
---
modules/codec/omxil/android_mediacodec.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/modules/codec/omxil/android_mediacodec.c b/modules/codec/omxil/android_mediacodec.c
index 53b8143..6d204d7 100644
--- a/modules/codec/omxil/android_mediacodec.c
+++ b/modules/codec/omxil/android_mediacodec.c
@@ -842,8 +842,14 @@ static void GetOutput(decoder_t *p_dec, JNIEnv *env, picture_t **pp_pic, jlong t
sar_den = p_dec->fmt_in.video.i_sar_den;
}
jni_SetAndroidSurfaceSizeEnv(env, width, height, width, height, sar_num, sar_den);
- } else
- GetVlcChromaFormat(p_sys->pixel_format, &p_dec->fmt_out.i_codec, &name);
+ } else {
+ if (!GetVlcChromaFormat(p_sys->pixel_format,
+ &p_dec->fmt_out.i_codec, &name)) {
+ msg_Err(p_dec, "color-format not recognized");
+ p_sys->error_state = true;
+ return;
+ }
+ }
msg_Dbg(p_dec, "output: %d %s, %dx%d stride %d %d, crop %d %d %d %d",
p_sys->pixel_format, name, width, height, p_sys->stride, p_sys->slice_height,
More information about the vlc-commits
mailing list