CameraProvider 解析

CameraProvider 解析:

CameraProviderManager::getCameraCount()
要看有多少个ProviderInfo ,存储在 std::vector<sp> mProviders 中;
然后看每一个 ProviderInfo 的 mUniqueCameraIds 。

ProviderInfo 是来自哪里?何时创建?

hardware:📷:provider::V2_4::ICameraProvider 代码在哪里?
hardware/interfaces/camera/provider/2.4/ICameraProvider.hal

frameworks/av/services/camera/libcameraservice/common/CameraProviderManager.h

frameworks/av/services/camera/libcameraservice/common/CameraProviderManager.cpp

vendor\bin\hw\android.hardware.camera.provider@2.4-service 是何时启动的?

CameraProviderManager.h 中的 struct HidlServiceInteractionProxyImpl 负责与真正的
Hal 服务交互 。

 // Standard use case - call into the normal generated static methods which invoke
    // the real hardware service manager
    struct HidlServiceInteractionProxyImpl : public HidlServiceInteractionProxy {
        virtual bool registerForNotifications(
                const std::string &serviceName,
                const sp<hidl::manager::V1_0::IServiceNotification>
                &notification) override {
            return hardware::camera::provider::V2_4::ICameraProvider::registerForNotifications(
                    serviceName, notification);
        }
        virtual sp<hardware::camera::provider::V2_4::ICameraProvider> tryGetService(
                const std::string &serviceName) override {
            return hardware::camera::provider::V2_4::ICameraProvider::tryGetService(serviceName);
        }
        virtual sp<hardware::camera::provider::V2_4::ICameraProvider> getService(
                const std::string &serviceName) override {
            return hardware::camera::provider::V2_4::ICameraProvider::getService(serviceName);
        }

        virtual hardware::hidl_vec<hardware::hidl_string> listServices() override;
    };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值