vlc/vlc-2.2 | branch: master | Thomas Guillem <[email protected]> | Thu Oct 23 
07:01:21 2014 +0000| [7b13b9d40a76af5eca76e9d67cd54c0d7e499172] | 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 <[email protected]>
(cherry picked from commit 40aa75316d6f3edc457354ac26295e292a8b1f9f)
Signed-off-by: Jean-Baptiste Kempf <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc/vlc-2.2.git/?a=commit;h=7b13b9d40a76af5eca76e9d67cd54c0d7e499172
---

 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 85bcc60..1157fcd 100644
--- a/modules/codec/omxil/android_mediacodec.c
+++ b/modules/codec/omxil/android_mediacodec.c
@@ -831,8 +831,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,

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to