Loading camera/aidl/android/hardware/ICameraService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ interface ICameraService * Get a list of combinations of camera ids which support concurrent streaming. * */ ConcurrentCameraIdCombination[] getConcurrentStreamingCameraIds(); ConcurrentCameraIdCombination[] getConcurrentCameraIds(); /** * Check whether a particular set of session configurations are concurrently supported by the Loading @@ -129,7 +129,7 @@ interface ICameraService * @return true - the set of concurrent camera id and stream combinations is supported. * false - the set of concurrent camera id and stream combinations is not supported * OR the method was called with a set of camera ids not returned by * getConcurrentMultiStreamingCameraIds(). * getConcurrentCameraIds(). */ boolean isConcurrentSessionConfigurationSupported( in CameraIdAndSessionConfiguration[] sessions); Loading media/codec2/sfplugin/CCodecBufferChannel.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -604,7 +604,12 @@ status_t CCodecBufferChannel::queueSecureInputBuffer( ssize_t result = -1; ssize_t codecDataOffset = 0; if (mCrypto != nullptr) { if (numSubSamples == 1 && subSamples[0].mNumBytesOfClearData == 0 && subSamples[0].mNumBytesOfEncryptedData == 0) { // We don't need to go through crypto or descrambler if the input is empty. result = 0; } else if (mCrypto != nullptr) { hardware::drm::V1_0::DestinationBuffer destination; if (secure) { destination.type = DrmBufferType::NATIVE_HANDLE; Loading @@ -620,6 +625,7 @@ status_t CCodecBufferChannel::queueSecureInputBuffer( key, iv, mode, pattern, source, buffer->offset(), subSamples, numSubSamples, destination, errorDetailMsg); if (result < 0) { ALOGI("[%s] decrypt failed: result=%zd", mName, result); return result; } if (destination.type == DrmBufferType::SHARED_MEMORY) { Loading services/camera/libcameraservice/CameraService.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2049,7 +2049,7 @@ Status CameraService::notifyDeviceStateChange(int64_t newState) { return Status::ok(); } Status CameraService::getConcurrentStreamingCameraIds( Status CameraService::getConcurrentCameraIds( std::vector<ConcurrentCameraIdCombination>* concurrentCameraIds) { ATRACE_CALL(); if (!concurrentCameraIds) { Loading @@ -2065,7 +2065,7 @@ Status CameraService::notifyDeviceStateChange(int64_t newState) { // First call into the provider and get the set of concurrent camera // combinations std::vector<std::unordered_set<std::string>> concurrentCameraCombinations = mCameraProviderManager->getConcurrentStreamingCameraIds(); mCameraProviderManager->getConcurrentCameraIds(); for (auto &combination : concurrentCameraCombinations) { std::vector<std::string> validCombination; for (auto &cameraId : combination) { Loading services/camera/libcameraservice/CameraService.h +1 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ public: virtual binder::Status removeListener( const sp<hardware::ICameraServiceListener>& listener); virtual binder::Status getConcurrentStreamingCameraIds( virtual binder::Status getConcurrentCameraIds( /*out*/ std::vector<hardware::camera2::utils::ConcurrentCameraIdCombination>* concurrentCameraIds); Loading services/camera/libcameraservice/common/CameraProviderManager.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -1362,7 +1362,7 @@ status_t CameraProviderManager::ProviderInfo::initialize( // Get list of concurrent streaming camera device combinations if (mMinorVersion >= 6) { res = getConcurrentStreamingCameraIdsInternalLocked(interface2_6); res = getConcurrentCameraIdsInternalLocked(interface2_6); if (res != OK) { return res; } Loading Loading @@ -1616,7 +1616,7 @@ status_t CameraProviderManager::ProviderInfo::dump(int fd, const Vector<String16 return OK; } status_t CameraProviderManager::ProviderInfo::getConcurrentStreamingCameraIdsInternalLocked( status_t CameraProviderManager::ProviderInfo::getConcurrentCameraIdsInternalLocked( sp<provider::V2_6::ICameraProvider> &interface2_6) { if (interface2_6 == nullptr) { ALOGE("%s: null interface provided", __FUNCTION__); Loading Loading @@ -1669,7 +1669,7 @@ status_t CameraProviderManager::ProviderInfo::reCacheConcurrentStreamingCameraId if (castResult.isOk()) { sp<provider::V2_6::ICameraProvider> interface2_6 = castResult; if (interface2_6 != nullptr) { return getConcurrentStreamingCameraIdsInternalLocked(interface2_6); return getConcurrentCameraIdsInternalLocked(interface2_6); } else { // This should not happen since mMinorVersion >= 6 ALOGE("%s: mMinorVersion was >= 6, but interface2_6 was nullptr", __FUNCTION__); Loading Loading @@ -2809,7 +2809,7 @@ status_t HidlVendorTagDescriptor::createDescriptorFromHidl( // Expects to have mInterfaceMutex locked std::vector<std::unordered_set<std::string>> CameraProviderManager::getConcurrentStreamingCameraIds() const { CameraProviderManager::getConcurrentCameraIds() const { std::vector<std::unordered_set<std::string>> deviceIdCombinations; std::lock_guard<std::mutex> lock(mInterfaceMutex); for (auto &provider : mProviders) { Loading Loading
camera/aidl/android/hardware/ICameraService.aidl +2 −2 Original line number Diff line number Diff line Loading @@ -119,7 +119,7 @@ interface ICameraService * Get a list of combinations of camera ids which support concurrent streaming. * */ ConcurrentCameraIdCombination[] getConcurrentStreamingCameraIds(); ConcurrentCameraIdCombination[] getConcurrentCameraIds(); /** * Check whether a particular set of session configurations are concurrently supported by the Loading @@ -129,7 +129,7 @@ interface ICameraService * @return true - the set of concurrent camera id and stream combinations is supported. * false - the set of concurrent camera id and stream combinations is not supported * OR the method was called with a set of camera ids not returned by * getConcurrentMultiStreamingCameraIds(). * getConcurrentCameraIds(). */ boolean isConcurrentSessionConfigurationSupported( in CameraIdAndSessionConfiguration[] sessions); Loading
media/codec2/sfplugin/CCodecBufferChannel.cpp +7 −1 Original line number Diff line number Diff line Loading @@ -604,7 +604,12 @@ status_t CCodecBufferChannel::queueSecureInputBuffer( ssize_t result = -1; ssize_t codecDataOffset = 0; if (mCrypto != nullptr) { if (numSubSamples == 1 && subSamples[0].mNumBytesOfClearData == 0 && subSamples[0].mNumBytesOfEncryptedData == 0) { // We don't need to go through crypto or descrambler if the input is empty. result = 0; } else if (mCrypto != nullptr) { hardware::drm::V1_0::DestinationBuffer destination; if (secure) { destination.type = DrmBufferType::NATIVE_HANDLE; Loading @@ -620,6 +625,7 @@ status_t CCodecBufferChannel::queueSecureInputBuffer( key, iv, mode, pattern, source, buffer->offset(), subSamples, numSubSamples, destination, errorDetailMsg); if (result < 0) { ALOGI("[%s] decrypt failed: result=%zd", mName, result); return result; } if (destination.type == DrmBufferType::SHARED_MEMORY) { Loading
services/camera/libcameraservice/CameraService.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -2049,7 +2049,7 @@ Status CameraService::notifyDeviceStateChange(int64_t newState) { return Status::ok(); } Status CameraService::getConcurrentStreamingCameraIds( Status CameraService::getConcurrentCameraIds( std::vector<ConcurrentCameraIdCombination>* concurrentCameraIds) { ATRACE_CALL(); if (!concurrentCameraIds) { Loading @@ -2065,7 +2065,7 @@ Status CameraService::notifyDeviceStateChange(int64_t newState) { // First call into the provider and get the set of concurrent camera // combinations std::vector<std::unordered_set<std::string>> concurrentCameraCombinations = mCameraProviderManager->getConcurrentStreamingCameraIds(); mCameraProviderManager->getConcurrentCameraIds(); for (auto &combination : concurrentCameraCombinations) { std::vector<std::string> validCombination; for (auto &cameraId : combination) { Loading
services/camera/libcameraservice/CameraService.h +1 −1 Original line number Diff line number Diff line Loading @@ -152,7 +152,7 @@ public: virtual binder::Status removeListener( const sp<hardware::ICameraServiceListener>& listener); virtual binder::Status getConcurrentStreamingCameraIds( virtual binder::Status getConcurrentCameraIds( /*out*/ std::vector<hardware::camera2::utils::ConcurrentCameraIdCombination>* concurrentCameraIds); Loading
services/camera/libcameraservice/common/CameraProviderManager.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -1362,7 +1362,7 @@ status_t CameraProviderManager::ProviderInfo::initialize( // Get list of concurrent streaming camera device combinations if (mMinorVersion >= 6) { res = getConcurrentStreamingCameraIdsInternalLocked(interface2_6); res = getConcurrentCameraIdsInternalLocked(interface2_6); if (res != OK) { return res; } Loading Loading @@ -1616,7 +1616,7 @@ status_t CameraProviderManager::ProviderInfo::dump(int fd, const Vector<String16 return OK; } status_t CameraProviderManager::ProviderInfo::getConcurrentStreamingCameraIdsInternalLocked( status_t CameraProviderManager::ProviderInfo::getConcurrentCameraIdsInternalLocked( sp<provider::V2_6::ICameraProvider> &interface2_6) { if (interface2_6 == nullptr) { ALOGE("%s: null interface provided", __FUNCTION__); Loading Loading @@ -1669,7 +1669,7 @@ status_t CameraProviderManager::ProviderInfo::reCacheConcurrentStreamingCameraId if (castResult.isOk()) { sp<provider::V2_6::ICameraProvider> interface2_6 = castResult; if (interface2_6 != nullptr) { return getConcurrentStreamingCameraIdsInternalLocked(interface2_6); return getConcurrentCameraIdsInternalLocked(interface2_6); } else { // This should not happen since mMinorVersion >= 6 ALOGE("%s: mMinorVersion was >= 6, but interface2_6 was nullptr", __FUNCTION__); Loading Loading @@ -2809,7 +2809,7 @@ status_t HidlVendorTagDescriptor::createDescriptorFromHidl( // Expects to have mInterfaceMutex locked std::vector<std::unordered_set<std::string>> CameraProviderManager::getConcurrentStreamingCameraIds() const { CameraProviderManager::getConcurrentCameraIds() const { std::vector<std::unordered_set<std::string>> deviceIdCombinations; std::lock_guard<std::mutex> lock(mInterfaceMutex); for (auto &provider : mProviders) { Loading