Loading media/libaudioclient/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -315,6 +315,7 @@ aidl_interface { "aidl/android/media/DeviceConnectedState.aidl", "aidl/android/media/EffectDescriptor.aidl", "aidl/android/media/SurroundSoundConfig.aidl", "aidl/android/media/TrackInternalMuteInfo.aidl", "aidl/android/media/TrackSecondaryOutputInfo.aidl", ], defaults: [ Loading media/libaudioclient/IAudioFlinger.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -918,6 +918,11 @@ status_t AudioFlingerClientAdapter::getAudioMixPort(const struct audio_port_v7 * return OK; } status_t AudioFlingerClientAdapter::setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMuted) { return statusTFromBinderStatus(mDelegate->setTracksInternalMute(tracksInternalMuted)); } //////////////////////////////////////////////////////////////////////////////////////////////////// // AudioFlingerServerAdapter AudioFlingerServerAdapter::AudioFlingerServerAdapter( Loading Loading @@ -1477,4 +1482,9 @@ Status AudioFlingerServerAdapter::getAudioMixPort(const media::AudioPortFw &devi return Status::ok(); } Status AudioFlingerServerAdapter::setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) { return Status::fromStatusT(mDelegate->setTracksInternalMute(tracksInternalMute)); } } // namespace android media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import android.media.ISoundDose; import android.media.ISoundDoseCallback; import android.media.MicrophoneInfoFw; import android.media.RenderPosition; import android.media.TrackInternalMuteInfo; import android.media.TrackSecondaryOutputInfo; import android.media.audio.common.AudioChannelLayout; import android.media.audio.common.AudioFormatDescription; Loading Loading @@ -293,6 +294,11 @@ interface IAudioFlingerService { */ AudioPortFw getAudioMixPort(in AudioPortFw devicePort, in AudioPortFw mixPort); /** * Set internal mute for a list of tracks. */ void setTracksInternalMute(in TrackInternalMuteInfo[] tracksInternalMute); // When adding a new method, please review and update // IAudioFlinger.h AudioFlingerServerAdapter::Delegate::TransactionCode // AudioFlinger.cpp AudioFlinger::onTransactWrapper() Loading media/libaudioclient/aidl/android/media/TrackInternalMuteInfo.aidl 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; parcelable TrackInternalMuteInfo { /* Interpreted as audio_port_handle_t. */ int portId; boolean muted; } media/libaudioclient/include/media/IAudioFlinger.h +9 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #include "android/media/OpenInputResponse.h" #include "android/media/OpenOutputRequest.h" #include "android/media/OpenOutputResponse.h" #include "android/media/TrackInternalMuteInfo.h" #include "android/media/TrackSecondaryOutputInfo.h" namespace android { Loading Loading @@ -388,6 +389,9 @@ public: virtual status_t getAudioMixPort(const struct audio_port_v7 *devicePort, struct audio_port_v7 *mixPort) const = 0; virtual status_t setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) = 0; }; /** Loading Loading @@ -504,6 +508,8 @@ public: status_t getAudioPolicyConfig(media::AudioPolicyConfig* output) override; status_t getAudioMixPort(const struct audio_port_v7 *devicePort, struct audio_port_v7 *mixPort) const override; status_t setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) override; private: const sp<media::IAudioFlingerService> mDelegate; Loading Loading @@ -606,6 +612,7 @@ public: GET_AUDIO_POLICY_CONFIG = media::BnAudioFlingerService::TRANSACTION_getAudioPolicyConfig, GET_AUDIO_MIX_PORT = media::BnAudioFlingerService::TRANSACTION_getAudioMixPort, SET_TRACKS_INTERNAL_MUTE = media::BnAudioFlingerService::TRANSACTION_setTracksInternalMute, }; protected: Loading Loading @@ -742,6 +749,8 @@ public: Status getAudioMixPort(const media::AudioPortFw& devicePort, const media::AudioPortFw& mixPort, media::AudioPortFw* _aidl_return) override; Status setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) override; private: const sp<AudioFlingerServerAdapter::Delegate> mDelegate; }; Loading Loading
media/libaudioclient/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -315,6 +315,7 @@ aidl_interface { "aidl/android/media/DeviceConnectedState.aidl", "aidl/android/media/EffectDescriptor.aidl", "aidl/android/media/SurroundSoundConfig.aidl", "aidl/android/media/TrackInternalMuteInfo.aidl", "aidl/android/media/TrackSecondaryOutputInfo.aidl", ], defaults: [ Loading
media/libaudioclient/IAudioFlinger.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -918,6 +918,11 @@ status_t AudioFlingerClientAdapter::getAudioMixPort(const struct audio_port_v7 * return OK; } status_t AudioFlingerClientAdapter::setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMuted) { return statusTFromBinderStatus(mDelegate->setTracksInternalMute(tracksInternalMuted)); } //////////////////////////////////////////////////////////////////////////////////////////////////// // AudioFlingerServerAdapter AudioFlingerServerAdapter::AudioFlingerServerAdapter( Loading Loading @@ -1477,4 +1482,9 @@ Status AudioFlingerServerAdapter::getAudioMixPort(const media::AudioPortFw &devi return Status::ok(); } Status AudioFlingerServerAdapter::setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) { return Status::fromStatusT(mDelegate->setTracksInternalMute(tracksInternalMute)); } } // namespace android
media/libaudioclient/aidl/android/media/IAudioFlingerService.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -41,6 +41,7 @@ import android.media.ISoundDose; import android.media.ISoundDoseCallback; import android.media.MicrophoneInfoFw; import android.media.RenderPosition; import android.media.TrackInternalMuteInfo; import android.media.TrackSecondaryOutputInfo; import android.media.audio.common.AudioChannelLayout; import android.media.audio.common.AudioFormatDescription; Loading Loading @@ -293,6 +294,11 @@ interface IAudioFlingerService { */ AudioPortFw getAudioMixPort(in AudioPortFw devicePort, in AudioPortFw mixPort); /** * Set internal mute for a list of tracks. */ void setTracksInternalMute(in TrackInternalMuteInfo[] tracksInternalMute); // When adding a new method, please review and update // IAudioFlinger.h AudioFlingerServerAdapter::Delegate::TransactionCode // AudioFlinger.cpp AudioFlinger::onTransactWrapper() Loading
media/libaudioclient/aidl/android/media/TrackInternalMuteInfo.aidl 0 → 100644 +23 −0 Original line number Diff line number Diff line /* * Copyright (C) 2024 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.media; parcelable TrackInternalMuteInfo { /* Interpreted as audio_port_handle_t. */ int portId; boolean muted; }
media/libaudioclient/include/media/IAudioFlinger.h +9 −0 Original line number Diff line number Diff line Loading @@ -60,6 +60,7 @@ #include "android/media/OpenInputResponse.h" #include "android/media/OpenOutputRequest.h" #include "android/media/OpenOutputResponse.h" #include "android/media/TrackInternalMuteInfo.h" #include "android/media/TrackSecondaryOutputInfo.h" namespace android { Loading Loading @@ -388,6 +389,9 @@ public: virtual status_t getAudioMixPort(const struct audio_port_v7 *devicePort, struct audio_port_v7 *mixPort) const = 0; virtual status_t setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) = 0; }; /** Loading Loading @@ -504,6 +508,8 @@ public: status_t getAudioPolicyConfig(media::AudioPolicyConfig* output) override; status_t getAudioMixPort(const struct audio_port_v7 *devicePort, struct audio_port_v7 *mixPort) const override; status_t setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) override; private: const sp<media::IAudioFlingerService> mDelegate; Loading Loading @@ -606,6 +612,7 @@ public: GET_AUDIO_POLICY_CONFIG = media::BnAudioFlingerService::TRANSACTION_getAudioPolicyConfig, GET_AUDIO_MIX_PORT = media::BnAudioFlingerService::TRANSACTION_getAudioMixPort, SET_TRACKS_INTERNAL_MUTE = media::BnAudioFlingerService::TRANSACTION_setTracksInternalMute, }; protected: Loading Loading @@ -742,6 +749,8 @@ public: Status getAudioMixPort(const media::AudioPortFw& devicePort, const media::AudioPortFw& mixPort, media::AudioPortFw* _aidl_return) override; Status setTracksInternalMute( const std::vector<media::TrackInternalMuteInfo>& tracksInternalMute) override; private: const sp<AudioFlingerServerAdapter::Delegate> mDelegate; }; Loading