summaryrefslogtreecommitdiff
path: root/media/jni/android_media_MediaCodec.cpp
diff options
context:
space:
mode:
authorMarco Nelissen <marcone@google.com>2018-04-19 11:02:00 -0700
committerMarco Nelissen <marcone@google.com>2018-04-19 12:33:36 -0700
commit59cf9aa283425a8206e6eb95f7d180db8c3f4bc9 (patch)
tree648914e57ce4da532d3ca422803a05fb927139fd /media/jni/android_media_MediaCodec.cpp
parent575fc02edf86b5394c2385fa6c0567a29042d347 (diff)
Guard against native crash due to null Surface
Bug: 77874529 Test: record video, mini CTS Change-Id: I00815fa334a9701e344b263e62549655299013cf
Diffstat (limited to 'media/jni/android_media_MediaCodec.cpp')
-rw-r--r--media/jni/android_media_MediaCodec.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp
index 000317e688da..16f6284b6031 100644
--- a/media/jni/android_media_MediaCodec.cpp
+++ b/media/jni/android_media_MediaCodec.cpp
@@ -1261,6 +1261,11 @@ static void android_media_MediaCodec_setInputSurface(
sp<PersistentSurface> persistentSurface =
android_media_MediaCodec_getPersistentInputSurface(env, object);
+ if (persistentSurface == NULL) {
+ throwExceptionAsNecessary(
+ env, BAD_VALUE, ACTION_CODE_FATAL, "input surface not valid");
+ return;
+ }
status_t err = codec->setInputSurface(persistentSurface);
if (err != NO_ERROR) {
throwExceptionAsNecessary(env, err);