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

Commit d4686a1a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Camera: VTS: Allow unsupported logical/physical combination" into qt-dev

parents 6c4e33d0 fa2a9098
Loading
Loading
Loading
Loading
+32 −5
Original line number Original line Diff line number Diff line
@@ -755,7 +755,8 @@ public:
            uint32_t *partialResultCount /*out*/,
            uint32_t *partialResultCount /*out*/,
            bool *useHalBufManager /*out*/,
            bool *useHalBufManager /*out*/,
            sp<DeviceCb> *cb /*out*/,
            sp<DeviceCb> *cb /*out*/,
            uint32_t streamConfigCounter = 0);
            uint32_t streamConfigCounter = 0,
            bool allowUnsupport = false);
    void configurePreviewStream(const std::string &name, int32_t deviceVersion,
    void configurePreviewStream(const std::string &name, int32_t deviceVersion,
            sp<ICameraProvider> provider,
            sp<ICameraProvider> provider,
            const AvailableStream *previewThreshold,
            const AvailableStream *previewThreshold,
@@ -4055,7 +4056,7 @@ TEST_F(CameraHidlTest, processMultiCaptureRequestPreview) {


    for (const auto& name : cameraDeviceNames) {
    for (const auto& name : cameraDeviceNames) {
        int deviceVersion = getCameraDeviceVersion(name, mProviderType);
        int deviceVersion = getCameraDeviceVersion(name, mProviderType);
        if (deviceVersion < CAMERA_DEVICE_API_VERSION_3_4) {
        if (deviceVersion < CAMERA_DEVICE_API_VERSION_3_5) {
            continue;
            continue;
        }
        }
        std::string version, deviceId;
        std::string version, deviceId;
@@ -4127,8 +4128,11 @@ TEST_F(CameraHidlTest, processMultiCaptureRequestPreview) {
        configurePreviewStreams3_4(name, deviceVersion, mProvider, &previewThreshold, physicalIds,
        configurePreviewStreams3_4(name, deviceVersion, mProvider, &previewThreshold, physicalIds,
                &session3_4, &session3_5, &previewStream, &halStreamConfig /*out*/,
                &session3_4, &session3_5, &previewStream, &halStreamConfig /*out*/,
                &supportsPartialResults /*out*/, &partialResultCount /*out*/,
                &supportsPartialResults /*out*/, &partialResultCount /*out*/,
                &useHalBufManager /*out*/, &cb /*out*/);
                &useHalBufManager /*out*/, &cb /*out*/, 0 /*streamConfigCounter*/,
        ASSERT_NE(session3_4, nullptr);
                true /*allowUnsupport*/);
        if (session3_5 == nullptr) {
            continue;
        }


        std::shared_ptr<ResultMetadataQueue> resultQueue;
        std::shared_ptr<ResultMetadataQueue> resultQueue;
        auto resultQueueRet =
        auto resultQueueRet =
@@ -5174,7 +5178,8 @@ void CameraHidlTest::configurePreviewStreams3_4(const std::string &name, int32_t
        uint32_t *partialResultCount /*out*/,
        uint32_t *partialResultCount /*out*/,
        bool *useHalBufManager /*out*/,
        bool *useHalBufManager /*out*/,
        sp<DeviceCb> *outCb /*out*/,
        sp<DeviceCb> *outCb /*out*/,
        uint32_t streamConfigCounter) {
        uint32_t streamConfigCounter,
        bool allowUnsupport) {
    ASSERT_NE(nullptr, session3_4);
    ASSERT_NE(nullptr, session3_4);
    ASSERT_NE(nullptr, session3_5);
    ASSERT_NE(nullptr, session3_5);
    ASSERT_NE(nullptr, halStreamConfig);
    ASSERT_NE(nullptr, halStreamConfig);
@@ -5273,6 +5278,28 @@ void CameraHidlTest::configurePreviewStreams3_4(const std::string &name, int32_t
            });
            });
    ASSERT_TRUE(ret.isOk());
    ASSERT_TRUE(ret.isOk());


    ASSERT_TRUE(!allowUnsupport || deviceVersion == CAMERA_DEVICE_API_VERSION_3_5);
    if (allowUnsupport) {
        sp<device::V3_5::ICameraDevice> cameraDevice3_5;
        castDevice(device3_x, deviceVersion, &cameraDevice3_5);

        bool supported = false;
        ret = cameraDevice3_5->isStreamCombinationSupported(config3_4,
                [&supported](Status s, bool combStatus) {
                    ASSERT_TRUE((Status::OK == s) ||
                            (Status::METHOD_NOT_SUPPORTED == s));
                    if (Status::OK == s) {
                        supported = combStatus;
                    }
                });
        ASSERT_TRUE(ret.isOk());
        // If stream combination is not supported, return null session.
        if (!supported) {
            *session3_5 = nullptr;
            return;
        }
    }

    if (*session3_5 != nullptr) {
    if (*session3_5 != nullptr) {
        config3_5.v3_4 = config3_4;
        config3_5.v3_4 = config3_4;
        config3_5.streamConfigCounter = streamConfigCounter;
        config3_5.streamConfigCounter = streamConfigCounter;