Loading services/camera/libcameraservice/CameraService.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -1055,8 +1055,16 @@ status_t CameraService::handleEvictionsLocked(const String8& cameraId, int clien return BAD_VALUE; } std::string cameraName; err = mCameraProviderManager->getCameraDeviceName( std::string(cameraId.c_str()), cameraName); if (err != OK) { ALOGE("%s: Failed to find camera device name for id %s: %d", __FUNCTION__, cameraId.c_str(), err); return err; } // Make descriptor for incoming client clientDescriptor = CameraClientManager::makeClientDescriptor(cameraId, clientDescriptor = CameraClientManager::makeClientDescriptor(String8(cameraName.c_str()), sp<BasicClient>{nullptr}, static_cast<int32_t>(state->getCost()), state->getConflicting(), priorityScores[priorityScores.size() - 1], Loading services/camera/libcameraservice/common/CameraProviderManager.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,16 @@ metadata_vendor_id_t CameraProviderManager::getProviderTagIdLocked( return ret; } status_t CameraProviderManager::getCameraDeviceName(const std::string& id, std::string& name) { std::lock_guard<std::mutex> lock(mInterfaceMutex); auto deviceInfo = findDeviceInfoLocked(id); if (deviceInfo == nullptr) return NAME_NOT_FOUND; name = deviceInfo->mName; return OK; } status_t CameraProviderManager::addProviderLocked(const std::string& newProvider, bool expected) { for (const auto& providerInfo : mProviders) { if (providerInfo->mProviderName == newProvider) { Loading services/camera/libcameraservice/common/CameraProviderManager.h +5 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,11 @@ public: hardware::hidl_version minVersion = hardware::hidl_version{0,0}, hardware::hidl_version maxVersion = hardware::hidl_version{1000,0}) const; /* * Get device name for a particular camera Id */ status_t getCameraDeviceName(const std::string& id, std::string& name); private: // All private members, unless otherwise noted, expect mInterfaceMutex to be locked before use mutable std::mutex mInterfaceMutex; Loading Loading
services/camera/libcameraservice/CameraService.cpp +9 −1 Original line number Diff line number Diff line Loading @@ -1055,8 +1055,16 @@ status_t CameraService::handleEvictionsLocked(const String8& cameraId, int clien return BAD_VALUE; } std::string cameraName; err = mCameraProviderManager->getCameraDeviceName( std::string(cameraId.c_str()), cameraName); if (err != OK) { ALOGE("%s: Failed to find camera device name for id %s: %d", __FUNCTION__, cameraId.c_str(), err); return err; } // Make descriptor for incoming client clientDescriptor = CameraClientManager::makeClientDescriptor(cameraId, clientDescriptor = CameraClientManager::makeClientDescriptor(String8(cameraName.c_str()), sp<BasicClient>{nullptr}, static_cast<int32_t>(state->getCost()), state->getConflicting(), priorityScores[priorityScores.size() - 1], Loading
services/camera/libcameraservice/common/CameraProviderManager.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -391,6 +391,16 @@ metadata_vendor_id_t CameraProviderManager::getProviderTagIdLocked( return ret; } status_t CameraProviderManager::getCameraDeviceName(const std::string& id, std::string& name) { std::lock_guard<std::mutex> lock(mInterfaceMutex); auto deviceInfo = findDeviceInfoLocked(id); if (deviceInfo == nullptr) return NAME_NOT_FOUND; name = deviceInfo->mName; return OK; } status_t CameraProviderManager::addProviderLocked(const std::string& newProvider, bool expected) { for (const auto& providerInfo : mProviders) { if (providerInfo->mProviderName == newProvider) { Loading
services/camera/libcameraservice/common/CameraProviderManager.h +5 −0 Original line number Diff line number Diff line Loading @@ -230,6 +230,11 @@ public: hardware::hidl_version minVersion = hardware::hidl_version{0,0}, hardware::hidl_version maxVersion = hardware::hidl_version{1000,0}) const; /* * Get device name for a particular camera Id */ status_t getCameraDeviceName(const std::string& id, std::string& name); private: // All private members, unless otherwise noted, expect mInterfaceMutex to be locked before use mutable std::mutex mInterfaceMutex; Loading