Support Java_Buffer_toI420 returning null

Bug: webrtc:12877
Change-Id: Ib9c8c62b350e644b17a3194e4208df6b06a4d9b1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/222582
Reviewed-by: Xavier Lepaul‎ <xalep@webrtc.org>
Reviewed-by: Evan Shrubsole <eshr@google.com>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Fabian Bergmark <fabianbergmark@google.com>
Cr-Commit-Position: refs/heads/master@{#34296}
diff --git a/sdk/android/src/jni/video_frame.cc b/sdk/android/src/jni/video_frame.cc
index dd3562f..9872803 100644
--- a/sdk/android/src/jni/video_frame.cc
+++ b/sdk/android/src/jni/video_frame.cc
@@ -179,6 +179,10 @@
   JNIEnv* jni = AttachCurrentThreadIfNeeded();
   ScopedJavaLocalRef<jobject> j_i420_buffer =
       Java_Buffer_toI420(jni, j_video_frame_buffer_);
+  // In case I420 conversion fails, we propagate the nullptr.
+  if (j_i420_buffer.is_null()) {
+    return nullptr;
+  }
 
   // We don't need to retain the buffer because toI420 returns a new object that
   // we are assumed to take the ownership of.