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

Commit cdaafb35 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
parent d5da53c6
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4014,8 +4014,11 @@ status_t Camera3Device::RequestThread::prepareHalRequests() {
                sp<Camera3Device> parent = mParent.promote();
                if (parent != nullptr) {
                    const std::string& 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.empty() &&
                        if (((streamCameraId.empty() || singleRequest) &&
                                parent->getId() == settings.cameraId) ||
                                streamCameraId == settings.cameraId) {
                            outputStream->fireBufferRequestForFrameNumber(