ImageWriter clients could pass invalid or already
connected surface during initialization. Check the
status after trying to connect to the producer
interface and raise an exception if necessary.
Bug:
80086132
Test: Camera CTS
Change-Id: I46810885046a3b89ea18510574c22db27e812a9c
* after disconnect. MEDIA or CAMERA are treated the same internally. The producer listener
* will be cleared after disconnect call.
*/
- producer->connect(/*api*/NATIVE_WINDOW_API_CAMERA, /*listener*/ctx);
+ res = producer->connect(/*api*/NATIVE_WINDOW_API_CAMERA, /*listener*/ctx);
+ if (res != OK) {
+ ALOGE("%s: Connecting to surface producer interface failed: %s (%d)",
+ __FUNCTION__, strerror(-res), res);
+ jniThrowRuntimeException(env, "Failed to connect to native window");
+ return 0;
+ }
+
jlong nativeCtx = reinterpret_cast<jlong>(ctx.get());
// Get the dimension and format of the producer.