Loading media/codec2/sfplugin/CCodec.cpp +19 −2 Original line number Diff line number Diff line Loading @@ -1572,8 +1572,25 @@ status_t CCodec::setupInputSurface(const std::shared_ptr<InputSurfaceWrapper> &s // configure dataspace static_assert(sizeof(int32_t) == sizeof(android_dataspace), "dataspace size mismatch"); android_dataspace dataSpace = HAL_DATASPACE_UNKNOWN; (void)config->mInputFormat->findInt32("android._dataspace", (int32_t*)&dataSpace); // The output format contains app-configured color aspects, and the input format // has the default color aspects. Use the default for the unspecified params. ColorAspects inputColorAspects, outputColorAspects; getColorAspectsFromFormat(config->mOutputFormat, outputColorAspects); getColorAspectsFromFormat(config->mInputFormat, inputColorAspects); if (outputColorAspects.mRange == ColorAspects::RangeUnspecified) { outputColorAspects.mRange = inputColorAspects.mRange; } if (outputColorAspects.mPrimaries == ColorAspects::PrimariesUnspecified) { outputColorAspects.mPrimaries = inputColorAspects.mPrimaries; } if (outputColorAspects.mTransfer == ColorAspects::TransferUnspecified) { outputColorAspects.mTransfer = inputColorAspects.mTransfer; } if (outputColorAspects.mMatrixCoeffs == ColorAspects::MatrixUnspecified) { outputColorAspects.mMatrixCoeffs = inputColorAspects.mMatrixCoeffs; } android_dataspace dataSpace = getDataSpaceForColorAspects(outputColorAspects, false); surface->setDataSpace(dataSpace); status_t err = mChannel->setInputSurface(surface); Loading media/libaudioclient/AudioSystem.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1922,6 +1922,14 @@ status_t AudioSystem::setAssistantUid(uid_t uid) { return statusTFromBinderStatus(aps->setAssistantUid(uidAidl)); } status_t AudioSystem::setHotwordDetectionServiceUid(uid_t uid) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; int32_t uidAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_uid_t_int32_t(uid)); return statusTFromBinderStatus(aps->setHotwordDetectionServiceUid(uidAidl)); } status_t AudioSystem::setA11yServicesUids(const std::vector<uid_t>& uids) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,8 @@ interface IAudioPolicyService { void setAssistantUid(int /* uid_t */ uid); void setHotwordDetectionServiceUid(int /* uid_t */ uid); void setA11yServicesUids(in int[] /* uid_t[] */ uids); void setCurrentImeUid(int /* uid_t */ uid); Loading media/libaudioclient/include/media/AudioSystem.h +1 −0 Original line number Diff line number Diff line Loading @@ -429,6 +429,7 @@ public: static status_t setSurroundFormatEnabled(audio_format_t audioFormat, bool enabled); static status_t setAssistantUid(uid_t uid); static status_t setHotwordDetectionServiceUid(uid_t uid); static status_t setA11yServicesUids(const std::vector<uid_t>& uids); static status_t setCurrentImeUid(uid_t uid); Loading services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1916,6 +1916,14 @@ Status AudioPolicyService::setAssistantUid(int32_t uidAidl) return Status::ok(); } Status AudioPolicyService::setHotwordDetectionServiceUid(int32_t uidAidl) { uid_t uid = VALUE_OR_RETURN_BINDER_STATUS(aidl2legacy_int32_t_uid_t(uidAidl)); Mutex::Autolock _l(mLock); mUidPolicy->setHotwordDetectionServiceUid(uid); return Status::ok(); } Status AudioPolicyService::setA11yServicesUids(const std::vector<int32_t>& uidsAidl) { size_t size = uidsAidl.size(); Loading Loading
media/codec2/sfplugin/CCodec.cpp +19 −2 Original line number Diff line number Diff line Loading @@ -1572,8 +1572,25 @@ status_t CCodec::setupInputSurface(const std::shared_ptr<InputSurfaceWrapper> &s // configure dataspace static_assert(sizeof(int32_t) == sizeof(android_dataspace), "dataspace size mismatch"); android_dataspace dataSpace = HAL_DATASPACE_UNKNOWN; (void)config->mInputFormat->findInt32("android._dataspace", (int32_t*)&dataSpace); // The output format contains app-configured color aspects, and the input format // has the default color aspects. Use the default for the unspecified params. ColorAspects inputColorAspects, outputColorAspects; getColorAspectsFromFormat(config->mOutputFormat, outputColorAspects); getColorAspectsFromFormat(config->mInputFormat, inputColorAspects); if (outputColorAspects.mRange == ColorAspects::RangeUnspecified) { outputColorAspects.mRange = inputColorAspects.mRange; } if (outputColorAspects.mPrimaries == ColorAspects::PrimariesUnspecified) { outputColorAspects.mPrimaries = inputColorAspects.mPrimaries; } if (outputColorAspects.mTransfer == ColorAspects::TransferUnspecified) { outputColorAspects.mTransfer = inputColorAspects.mTransfer; } if (outputColorAspects.mMatrixCoeffs == ColorAspects::MatrixUnspecified) { outputColorAspects.mMatrixCoeffs = inputColorAspects.mMatrixCoeffs; } android_dataspace dataSpace = getDataSpaceForColorAspects(outputColorAspects, false); surface->setDataSpace(dataSpace); status_t err = mChannel->setInputSurface(surface); Loading
media/libaudioclient/AudioSystem.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1922,6 +1922,14 @@ status_t AudioSystem::setAssistantUid(uid_t uid) { return statusTFromBinderStatus(aps->setAssistantUid(uidAidl)); } status_t AudioSystem::setHotwordDetectionServiceUid(uid_t uid) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; int32_t uidAidl = VALUE_OR_RETURN_STATUS(legacy2aidl_uid_t_int32_t(uid)); return statusTFromBinderStatus(aps->setHotwordDetectionServiceUid(uidAidl)); } status_t AudioSystem::setA11yServicesUids(const std::vector<uid_t>& uids) { const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return PERMISSION_DENIED; Loading
media/libaudioclient/aidl/android/media/IAudioPolicyService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -299,6 +299,8 @@ interface IAudioPolicyService { void setAssistantUid(int /* uid_t */ uid); void setHotwordDetectionServiceUid(int /* uid_t */ uid); void setA11yServicesUids(in int[] /* uid_t[] */ uids); void setCurrentImeUid(int /* uid_t */ uid); Loading
media/libaudioclient/include/media/AudioSystem.h +1 −0 Original line number Diff line number Diff line Loading @@ -429,6 +429,7 @@ public: static status_t setSurroundFormatEnabled(audio_format_t audioFormat, bool enabled); static status_t setAssistantUid(uid_t uid); static status_t setHotwordDetectionServiceUid(uid_t uid); static status_t setA11yServicesUids(const std::vector<uid_t>& uids); static status_t setCurrentImeUid(uid_t uid); Loading
services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1916,6 +1916,14 @@ Status AudioPolicyService::setAssistantUid(int32_t uidAidl) return Status::ok(); } Status AudioPolicyService::setHotwordDetectionServiceUid(int32_t uidAidl) { uid_t uid = VALUE_OR_RETURN_BINDER_STATUS(aidl2legacy_int32_t_uid_t(uidAidl)); Mutex::Autolock _l(mLock); mUidPolicy->setHotwordDetectionServiceUid(uid); return Status::ok(); } Status AudioPolicyService::setA11yServicesUids(const std::vector<int32_t>& uidsAidl) { size_t size = uidsAidl.size(); Loading