Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit df6d0502 authored by Emilian Peev's avatar Emilian Peev
Browse files

Camera: Handle single logical requests when notifying requests

Consider cases where clients pass single logical capture requests
to physical outputs and notify request frame number listeners
accordingly.

Bug: 292144312
Test: Camera CTS
Change-Id: I3a44cc9a7eaa5b2107f494bddb5e80706eec2bfd
Merged-In: I3a44cc9a7eaa5b2107f494bddb5e80706eec2bfd
parent cbf1eb34
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4010,8 +4010,11 @@ status_t Camera3Device::RequestThread::prepareHalRequests() {
                sp<Camera3Device> parent = mParent.promote();
                if (parent != nullptr) {
                    const String8& streamCameraId = outputStream->getPhysicalCameraId();
                    // Consider the case where clients are sending a single logical camera request
                    // to physical output/outputs
                    bool singleRequest = captureRequest->mSettingsList.size() == 1;
                    for (const auto& settings : captureRequest->mSettingsList) {
                        if ((streamCameraId.isEmpty() &&
                        if (((streamCameraId.isEmpty() || singleRequest) &&
                                parent->getId() == settings.cameraId.c_str()) ||
                                streamCameraId == settings.cameraId.c_str()) {
                            outputStream->fireBufferRequestForFrameNumber(