Loading media/libaudioclient/AudioRecord.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1316,6 +1316,14 @@ void AudioRecord::onAudioDeviceUpdate(audio_io_handle_t audioIo, } } // ------------------------------------------------------------------------- status_t AudioRecord::getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones) { AutoMutex lock(mLock); return mAudioRecord->getActiveMicrophones(activeMicrophones).transactionError(); } // ========================================================================= void AudioRecord::DeathNotifier::binderDied(const wp<IBinder>& who __unused) Loading media/libaudioclient/aidl/android/media/IAudioRecord.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.media; import android.media.MicrophoneInfo; /* Native code must specify namespace media (media::IAudioRecord) when referring to this class */ interface IAudioRecord { Loading @@ -30,4 +32,8 @@ interface IAudioRecord { * will be processed, unless flush() is called. */ void stop(); /* Get a list of current active microphones. */ void getActiveMicrophones(out MicrophoneInfo[] activeMicrophones); } media/libaudioclient/include/media/AudioRecord.h +7 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,10 @@ #include <media/AudioTimestamp.h> #include <media/MediaAnalyticsItem.h> #include <media/Modulo.h> #include <media/MicrophoneInfo.h> #include <utils/RefBase.h> #include <utils/threads.h> #include <vector> #include "android/media/IAudioRecord.h" Loading Loading @@ -527,6 +529,11 @@ public: /* Get the flags */ audio_input_flags_t getFlags() const { AutoMutex _l(mLock); return mFlags; } /* Get active microphones. A empty vector of MicrophoneInfo will be passed as a parameter, * the data will be filled when querying the hal. */ status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); /* * Dumps the state of an audio record. */ Loading services/audioflinger/AudioFlinger.h +2 −0 Original line number Diff line number Diff line Loading @@ -559,6 +559,8 @@ using effect_buffer_t = int16_t; virtual binder::Status start(int /*AudioSystem::sync_event_t*/ event, int /*audio_session_t*/ triggerSession); virtual binder::Status stop(); virtual binder::Status getActiveMicrophones( std::vector<media::MicrophoneInfo>* activeMicrophones); private: const sp<RecordThread::RecordTrack> mRecordTrack; Loading services/audioflinger/RecordTracks.h +2 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,8 @@ public: void setSilenced(bool silenced) { mSilenced = silenced; } bool isSilenced() const { return mSilenced; } status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); private: friend class AudioFlinger; // for mState Loading Loading
media/libaudioclient/AudioRecord.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -1316,6 +1316,14 @@ void AudioRecord::onAudioDeviceUpdate(audio_io_handle_t audioIo, } } // ------------------------------------------------------------------------- status_t AudioRecord::getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones) { AutoMutex lock(mLock); return mAudioRecord->getActiveMicrophones(activeMicrophones).transactionError(); } // ========================================================================= void AudioRecord::DeathNotifier::binderDied(const wp<IBinder>& who __unused) Loading
media/libaudioclient/aidl/android/media/IAudioRecord.aidl +6 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.media; import android.media.MicrophoneInfo; /* Native code must specify namespace media (media::IAudioRecord) when referring to this class */ interface IAudioRecord { Loading @@ -30,4 +32,8 @@ interface IAudioRecord { * will be processed, unless flush() is called. */ void stop(); /* Get a list of current active microphones. */ void getActiveMicrophones(out MicrophoneInfo[] activeMicrophones); }
media/libaudioclient/include/media/AudioRecord.h +7 −0 Original line number Diff line number Diff line Loading @@ -23,8 +23,10 @@ #include <media/AudioTimestamp.h> #include <media/MediaAnalyticsItem.h> #include <media/Modulo.h> #include <media/MicrophoneInfo.h> #include <utils/RefBase.h> #include <utils/threads.h> #include <vector> #include "android/media/IAudioRecord.h" Loading Loading @@ -527,6 +529,11 @@ public: /* Get the flags */ audio_input_flags_t getFlags() const { AutoMutex _l(mLock); return mFlags; } /* Get active microphones. A empty vector of MicrophoneInfo will be passed as a parameter, * the data will be filled when querying the hal. */ status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); /* * Dumps the state of an audio record. */ Loading
services/audioflinger/AudioFlinger.h +2 −0 Original line number Diff line number Diff line Loading @@ -559,6 +559,8 @@ using effect_buffer_t = int16_t; virtual binder::Status start(int /*AudioSystem::sync_event_t*/ event, int /*audio_session_t*/ triggerSession); virtual binder::Status stop(); virtual binder::Status getActiveMicrophones( std::vector<media::MicrophoneInfo>* activeMicrophones); private: const sp<RecordThread::RecordTrack> mRecordTrack; Loading
services/audioflinger/RecordTracks.h +2 −0 Original line number Diff line number Diff line Loading @@ -66,6 +66,8 @@ public: void setSilenced(bool silenced) { mSilenced = silenced; } bool isSilenced() const { return mSilenced; } status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); private: friend class AudioFlinger; // for mState Loading