Loading media/libaaudio/fuzzer/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -37,12 +37,16 @@ cc_fuzz { ], shared_libs: [ "com.android.media.aaudio-aconfig-cc", "libaconfig_storage_read_api_cc", "libaudio_aidl_conversion_common_cpp", "libaudioclient_aidl_conversion", "libaudiomanager", "libaudiopolicy", "libbinder", "libbinder_ndk", "libmediautils", "libutils", "server_configurable_flags", ], static_libs: [ "aaudio-aidl-cpp", Loading media/libaudioclient/AudioRecord.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -1577,11 +1577,6 @@ status_t AudioRecord::restoreRecord_l(const char *from) const int INITIAL_RETRIES = 3; int retries = INITIAL_RETRIES; retry: if (retries < INITIAL_RETRIES) { // refresh the audio configuration cache in this process to make sure we get new // input parameters and new IAudioRecord in createRecord_l() AudioSystem::clearAudioConfigCache(); } mFlags = mOrigFlags; // if the new IAudioRecord is created, createRecord_l() will modify the Loading media/libaudioclient/AudioSystem.cpp +444 −383 File changed.Preview size limit exceeded, changes collapsed. Show changes media/libaudioclient/AudioTrack.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -2875,10 +2875,6 @@ status_t AudioTrack::restoreTrack_l(const char *from, bool forceRestore) __func__, mPortId, isOffloadedOrDirect_l() ? "Offloaded or Direct" : "PCM", from); ++mSequence; // refresh the audio configuration cache in this process to make sure we get new // output parameters and new IAudioFlinger in createTrack_l() AudioSystem::clearAudioConfigCache(); if (!forceRestore && (isOffloadedOrDirect_l() || mDoNotReconnect)) { // FIXME re-creation of offloaded and direct tracks is not yet implemented; Loading Loading @@ -2911,10 +2907,6 @@ status_t AudioTrack::restoreTrack_l(const char *from, bool forceRestore) const int INITIAL_RETRIES = 3; int retries = INITIAL_RETRIES; retry: if (retries < INITIAL_RETRIES) { // See the comment for clearAudioConfigCache at the start of the function. AudioSystem::clearAudioConfigCache(); } mFlags = mOrigFlags; // If a new IAudioTrack is successfully created, createTrack_l() will modify the Loading media/libaudioclient/include/media/AudioSystem.h +5 −13 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ class AudioSystem template <typename ServiceInterface, typename Client, typename AidlInterface, typename ServiceTraits> friend class ServiceHandler; friend class AudioFlingerServiceTraits; public: Loading Loading @@ -426,17 +427,12 @@ public: static status_t setEffectEnabled(int id, bool enabled); static status_t moveEffectsToIo(const std::vector<int>& ids, audio_io_handle_t io); // clear stream to output mapping cache (gStreamOutputMap) // and output configuration cache (gOutputs) static void clearAudioConfigCache(); // Sets a local AudioPolicyService interface to be used by AudioSystem. // This is used by audioserver main() to allow client object initialization // before exposing any interfaces to ServiceManager. static status_t setLocalAudioPolicyService(const sp<media::IAudioPolicyService>& aps); static sp<media::IAudioPolicyService> get_audio_policy_service(); static void clearAudioPolicyService(); // helpers for android.media.AudioManager.getProperty(), see description there for meaning static uint32_t getPrimaryOutputSamplingRate(); Loading Loading @@ -813,7 +809,7 @@ public: media::audio::common::AudioMMapPolicyType policyType, audio_devices_t device, media::audio::common::AudioMMapPolicyInfo *policyInfo); class AudioFlingerClient: public IBinder::DeathRecipient, public media::BnAudioFlingerClient class AudioFlingerClient: public media::BnAudioFlingerClient { public: AudioFlingerClient() = default; Loading @@ -823,9 +819,6 @@ public: audio_channel_mask_t channelMask, size_t* buffSize) EXCLUDES(mMutex); sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle) EXCLUDES(mMutex); // DeathRecipient void binderDied(const wp<IBinder>& who) final; // IAudioFlingerClient // indicate a change in the configuration of an output or input: keeps the cached Loading Loading @@ -870,8 +863,7 @@ public: sp<AudioIoDescriptor> getIoDescriptor_l(audio_io_handle_t ioHandle) REQUIRES(mMutex); }; class AudioPolicyServiceClient: public IBinder::DeathRecipient, public media::BnAudioPolicyServiceClient { class AudioPolicyServiceClient: public media::BnAudioPolicyServiceClient { public: AudioPolicyServiceClient() = default; Loading @@ -895,8 +887,7 @@ public: return !mAudioVolumeGroupCallbacks.empty(); } // DeathRecipient void binderDied(const wp<IBinder>& who) final; void onServiceDied(); // IAudioPolicyServiceClient binder::Status onAudioVolumeGroupChanged(int32_t group, int32_t flags) override; Loading Loading @@ -926,6 +917,7 @@ public: static audio_io_handle_t getOutput(audio_stream_type_t stream); static sp<AudioFlingerClient> getAudioFlingerClient(); static sp<AudioPolicyServiceClient> getAudioPolicyClient(); static sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle); // Invokes all registered error callbacks with the given error code. Loading Loading
media/libaaudio/fuzzer/Android.bp +4 −0 Original line number Diff line number Diff line Loading @@ -37,12 +37,16 @@ cc_fuzz { ], shared_libs: [ "com.android.media.aaudio-aconfig-cc", "libaconfig_storage_read_api_cc", "libaudio_aidl_conversion_common_cpp", "libaudioclient_aidl_conversion", "libaudiomanager", "libaudiopolicy", "libbinder", "libbinder_ndk", "libmediautils", "libutils", "server_configurable_flags", ], static_libs: [ "aaudio-aidl-cpp", Loading
media/libaudioclient/AudioRecord.cpp +0 −5 Original line number Diff line number Diff line Loading @@ -1577,11 +1577,6 @@ status_t AudioRecord::restoreRecord_l(const char *from) const int INITIAL_RETRIES = 3; int retries = INITIAL_RETRIES; retry: if (retries < INITIAL_RETRIES) { // refresh the audio configuration cache in this process to make sure we get new // input parameters and new IAudioRecord in createRecord_l() AudioSystem::clearAudioConfigCache(); } mFlags = mOrigFlags; // if the new IAudioRecord is created, createRecord_l() will modify the Loading
media/libaudioclient/AudioSystem.cpp +444 −383 File changed.Preview size limit exceeded, changes collapsed. Show changes
media/libaudioclient/AudioTrack.cpp +0 −8 Original line number Diff line number Diff line Loading @@ -2875,10 +2875,6 @@ status_t AudioTrack::restoreTrack_l(const char *from, bool forceRestore) __func__, mPortId, isOffloadedOrDirect_l() ? "Offloaded or Direct" : "PCM", from); ++mSequence; // refresh the audio configuration cache in this process to make sure we get new // output parameters and new IAudioFlinger in createTrack_l() AudioSystem::clearAudioConfigCache(); if (!forceRestore && (isOffloadedOrDirect_l() || mDoNotReconnect)) { // FIXME re-creation of offloaded and direct tracks is not yet implemented; Loading Loading @@ -2911,10 +2907,6 @@ status_t AudioTrack::restoreTrack_l(const char *from, bool forceRestore) const int INITIAL_RETRIES = 3; int retries = INITIAL_RETRIES; retry: if (retries < INITIAL_RETRIES) { // See the comment for clearAudioConfigCache at the start of the function. AudioSystem::clearAudioConfigCache(); } mFlags = mOrigFlags; // If a new IAudioTrack is successfully created, createTrack_l() will modify the Loading
media/libaudioclient/include/media/AudioSystem.h +5 −13 Original line number Diff line number Diff line Loading @@ -103,6 +103,7 @@ class AudioSystem template <typename ServiceInterface, typename Client, typename AidlInterface, typename ServiceTraits> friend class ServiceHandler; friend class AudioFlingerServiceTraits; public: Loading Loading @@ -426,17 +427,12 @@ public: static status_t setEffectEnabled(int id, bool enabled); static status_t moveEffectsToIo(const std::vector<int>& ids, audio_io_handle_t io); // clear stream to output mapping cache (gStreamOutputMap) // and output configuration cache (gOutputs) static void clearAudioConfigCache(); // Sets a local AudioPolicyService interface to be used by AudioSystem. // This is used by audioserver main() to allow client object initialization // before exposing any interfaces to ServiceManager. static status_t setLocalAudioPolicyService(const sp<media::IAudioPolicyService>& aps); static sp<media::IAudioPolicyService> get_audio_policy_service(); static void clearAudioPolicyService(); // helpers for android.media.AudioManager.getProperty(), see description there for meaning static uint32_t getPrimaryOutputSamplingRate(); Loading Loading @@ -813,7 +809,7 @@ public: media::audio::common::AudioMMapPolicyType policyType, audio_devices_t device, media::audio::common::AudioMMapPolicyInfo *policyInfo); class AudioFlingerClient: public IBinder::DeathRecipient, public media::BnAudioFlingerClient class AudioFlingerClient: public media::BnAudioFlingerClient { public: AudioFlingerClient() = default; Loading @@ -823,9 +819,6 @@ public: audio_channel_mask_t channelMask, size_t* buffSize) EXCLUDES(mMutex); sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle) EXCLUDES(mMutex); // DeathRecipient void binderDied(const wp<IBinder>& who) final; // IAudioFlingerClient // indicate a change in the configuration of an output or input: keeps the cached Loading Loading @@ -870,8 +863,7 @@ public: sp<AudioIoDescriptor> getIoDescriptor_l(audio_io_handle_t ioHandle) REQUIRES(mMutex); }; class AudioPolicyServiceClient: public IBinder::DeathRecipient, public media::BnAudioPolicyServiceClient { class AudioPolicyServiceClient: public media::BnAudioPolicyServiceClient { public: AudioPolicyServiceClient() = default; Loading @@ -895,8 +887,7 @@ public: return !mAudioVolumeGroupCallbacks.empty(); } // DeathRecipient void binderDied(const wp<IBinder>& who) final; void onServiceDied(); // IAudioPolicyServiceClient binder::Status onAudioVolumeGroupChanged(int32_t group, int32_t flags) override; Loading Loading @@ -926,6 +917,7 @@ public: static audio_io_handle_t getOutput(audio_stream_type_t stream); static sp<AudioFlingerClient> getAudioFlingerClient(); static sp<AudioPolicyServiceClient> getAudioPolicyClient(); static sp<AudioIoDescriptor> getIoDescriptor(audio_io_handle_t ioHandle); // Invokes all registered error callbacks with the given error code. Loading