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

Commit 37ab96c6 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Camera: Handle public physical camera for feature combination query" into main

parents 28a3f4a8 141c64a2
Loading
Loading
Loading
Loading
+8 −15
Original line number Diff line number Diff line
@@ -421,8 +421,15 @@ status_t CameraProviderManager::isSessionConfigurationSupported(const std::strin
        return NAME_NOT_FOUND;
    }

    metadataGetter getMetadata = [this](const std::string &id,
            bool overrideForPerfClass) {
        CameraMetadata metadata;
        this->getCameraCharacteristicsLocked(id, overrideForPerfClass,
                                             &metadata, /*overrideToPortrait*/false);
        return metadata;
    };
    return deviceInfo->isSessionConfigurationSupported(configuration,
            overrideForPerfClass, checkSessionParams, status);
            overrideForPerfClass, getMetadata, checkSessionParams, status);
}

status_t  CameraProviderManager::createDefaultRequest(const std::string& cameraId,
@@ -1087,20 +1094,6 @@ void CameraProviderManager::ProviderInfo::DeviceInfo3::queryPhysicalCameraIds()
    }
}

CameraMetadata CameraProviderManager::ProviderInfo::DeviceInfo3::deviceInfo(
        const std::string &id) {
    if (id.empty()) {
        return mCameraCharacteristics;
    } else {
        if (mPhysicalCameraCharacteristics.find(id) != mPhysicalCameraCharacteristics.end()) {
            return mPhysicalCameraCharacteristics.at(id);
        } else {
            ALOGE("%s: Invalid physical camera id %s", __FUNCTION__, id.c_str());
            return mCameraCharacteristics;
        }
    }
}

SystemCameraKind CameraProviderManager::ProviderInfo::DeviceInfo3::getSystemCameraKind() {
    camera_metadata_entry_t entryCap;
    entryCap = mCameraCharacteristics.find(ANDROID_REQUEST_AVAILABLE_CAPABILITIES);
+1 −2
Original line number Diff line number Diff line
@@ -646,6 +646,7 @@ private:
            virtual status_t isSessionConfigurationSupported(
                    const SessionConfiguration &/*configuration*/,
                    bool /*overrideForPerfClass*/,
                    camera3::metadataGetter /*getMetadata*/,
                    bool /*checkSessionParams*/,
                    bool * /*status*/) {
                return INVALID_OPERATION;
@@ -777,8 +778,6 @@ private:
                    std::vector<int64_t>* stallDurations,
                    const camera_metadata_entry& halStreamConfigs,
                    const camera_metadata_entry& halStreamDurations);

            CameraMetadata deviceInfo(const std::string &id);
        };
    protected:
        std::string mType;
+1 −3
Original line number Diff line number Diff line
@@ -800,7 +800,7 @@ status_t AidlProviderInfo::AidlDeviceInfo3::dumpState(int fd) {

status_t AidlProviderInfo::AidlDeviceInfo3::isSessionConfigurationSupported(
        const SessionConfiguration &configuration, bool overrideForPerfClass,
        bool checkSessionParams, bool *status) {
        camera3::metadataGetter getMetadata, bool checkSessionParams, bool *status) {

    auto operatingMode = configuration.getOperatingMode();

@@ -812,8 +812,6 @@ status_t AidlProviderInfo::AidlDeviceInfo3::isSessionConfigurationSupported(

    camera::device::StreamConfiguration streamConfiguration;
    bool earlyExit = false;
    camera3::metadataGetter getMetadata = [this](const std::string &id,
            bool /*overrideForPerfClass*/) {return this->deviceInfo(id);};
    auto bRes = SessionConfigurationUtils::convertToHALStreamCombination(configuration,
            mId, mCameraCharacteristics, mCompositeJpegRDisabled, getMetadata,
            mPhysicalIds, streamConfiguration, overrideForPerfClass, mProviderTagid,
+2 −2
Original line number Diff line number Diff line
@@ -127,8 +127,8 @@ struct AidlProviderInfo : public CameraProviderManager::ProviderInfo {

        virtual status_t isSessionConfigurationSupported(
                const SessionConfiguration &/*configuration*/,
                bool overrideForPerfClass, bool checkSessionParams,
                bool *status/*status*/);
                bool overrideForPerfClass, camera3::metadataGetter getMetadata,
                bool checkSessionParams, bool *status/*status*/);

        virtual status_t createDefaultRequest(
                    camera3::camera_request_template_t templateId,
+1 −3
Original line number Diff line number Diff line
@@ -861,7 +861,7 @@ status_t HidlProviderInfo::HidlDeviceInfo3::dumpState(int fd) {

status_t HidlProviderInfo::HidlDeviceInfo3::isSessionConfigurationSupported(
        const SessionConfiguration &configuration, bool overrideForPerfClass,
        bool checkSessionParams, bool *status) {
        camera3::metadataGetter getMetadata, bool checkSessionParams, bool *status) {

    if (checkSessionParams) {
        // HIDL device doesn't support checking session parameters
@@ -870,8 +870,6 @@ status_t HidlProviderInfo::HidlDeviceInfo3::isSessionConfigurationSupported(

    hardware::camera::device::V3_7::StreamConfiguration configuration_3_7;
    bool earlyExit = false;
    camera3::metadataGetter getMetadata = [this](const std::string &id,
            bool /*overrideForPerfClass*/) {return this->deviceInfo(id);};
    auto bRes = SessionConfigurationUtils::convertToHALStreamCombination(configuration,
            mId, mCameraCharacteristics, getMetadata, mPhysicalIds,
            configuration_3_7, overrideForPerfClass, mProviderTagid,
Loading