diff options
Diffstat (limited to 'sys/androidmedia/gstjniutils.c')
-rw-r--r-- | sys/androidmedia/gstjniutils.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/androidmedia/gstjniutils.c b/sys/androidmedia/gstjniutils.c index 786100276..4fe374719 100644 --- a/sys/androidmedia/gstjniutils.c +++ b/sys/androidmedia/gstjniutils.c @@ -1028,12 +1028,17 @@ gst_amc_jni_get_buffer_array (JNIEnv * env, GError ** err, jobject array, jobject buffer = NULL; buffer = (*env)->GetObjectArrayElement (env, array, i); - if ((*env)->ExceptionCheck (env) || !buffer) { + if ((*env)->ExceptionCheck (env)) { gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_FAILED, "Failed to get buffer %d", i); goto error; } + /* NULL buffers are not a problem and are happening when we configured + * a surface as input/output */ + if (!buffer) + continue; + (*buffers)[i].object = gst_amc_jni_object_make_global (env, buffer); if (!(*buffers)[i].object) { gst_amc_jni_set_error (env, err, GST_LIBRARY_ERROR, |