Loading media/libaudioclient/AudioRecord.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -1398,6 +1398,17 @@ status_t AudioRecord::getActiveMicrophones(std::vector<media::MicrophoneInfo>* a return mAudioRecord->getActiveMicrophones(activeMicrophones).transactionError(); } status_t AudioRecord::setMicrophoneDirection(audio_microphone_direction_t direction) { AutoMutex lock(mLock); return mAudioRecord->setMicrophoneDirection(direction).transactionError(); } status_t AudioRecord::setMicrophoneFieldDimension(float zoom) { AutoMutex lock(mLock); return mAudioRecord->setMicrophoneFieldDimension(zoom).transactionError(); } // ========================================================================= void AudioRecord::DeathNotifier::binderDied(const wp<IBinder>& who __unused) Loading media/libaudioclient/aidl/android/media/IAudioRecord.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,12 @@ interface IAudioRecord { /* Get a list of current active microphones. */ void getActiveMicrophones(out MicrophoneInfo[] activeMicrophones); /* Set the microphone direction (for processing). */ void setMicrophoneDirection(int /*audio_microphone_direction_t*/ direction); /* Set the microphone zoom (for processing). */ void setMicrophoneFieldDimension(float zoom); } media/libaudioclient/include/media/AudioRecord.h +8 −0 Original line number Diff line number Diff line Loading @@ -534,6 +534,14 @@ public: */ status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); /* Set the Microphone direction (for processing purposes). */ status_t setMicrophoneDirection(audio_microphone_direction_t direction); /* Set the Microphone zoom factor (for processing purposes). */ status_t setMicrophoneFieldDimension(float zoom); /* Get the unique port ID assigned to this AudioRecord instance by audio policy manager. * The ID is unique across all audioserver clients and can change during the life cycle * of a given AudioRecord instance if the connection to audioserver is restored. Loading media/libaudiohal/impl/StreamHalHidl.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -854,5 +854,29 @@ status_t StreamInHalHidl::updateSinkMetadata(const } #endif #if MAJOR_VERSION < 5 status_t StreamInHalHidl::setMicrophoneDirection(audio_microphone_direction_t direction __unused) { if (mStream == 0) return NO_INIT; return INVALID_OPERATION; } status_t StreamInHalHidl::setMicrophoneFieldDimension(float zoom __unused) { if (mStream == 0) return NO_INIT; return INVALID_OPERATION; } #else status_t StreamInHalHidl::setMicrophoneDirection(audio_microphone_direction_t direction) { if (!mStream) return NO_INIT; return processReturn("setMicrophoneDirection", mStream->setMicrophoneDirection(static_cast<MicrophoneDirection>(direction))); } status_t StreamInHalHidl::setMicrophoneFieldDimension(float zoom) { if (!mStream) return NO_INIT; return processReturn("setMicrophoneFieldDimension", mStream->setMicrophoneFieldDimension(zoom)); } #endif } // namespace CPP_VERSION } // namespace android media/libaudiohal/impl/StreamHalHidl.h +6 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,12 @@ class StreamInHalHidl : public StreamInHalInterface, public StreamHalHidl { // Get active microphones virtual status_t getActiveMicrophones(std::vector<media::MicrophoneInfo> *microphones); // Set microphone direction (for processing) virtual status_t setMicrophoneDirection(audio_microphone_direction_t direction) override; // Set microphone zoom (for processing) virtual status_t setMicrophoneFieldDimension(float zoom) override; // Called when the metadata of the stream's sink has been changed. status_t updateSinkMetadata(const SinkMetadata& sinkMetadata) override; Loading Loading
media/libaudioclient/AudioRecord.cpp +11 −0 Original line number Diff line number Diff line Loading @@ -1398,6 +1398,17 @@ status_t AudioRecord::getActiveMicrophones(std::vector<media::MicrophoneInfo>* a return mAudioRecord->getActiveMicrophones(activeMicrophones).transactionError(); } status_t AudioRecord::setMicrophoneDirection(audio_microphone_direction_t direction) { AutoMutex lock(mLock); return mAudioRecord->setMicrophoneDirection(direction).transactionError(); } status_t AudioRecord::setMicrophoneFieldDimension(float zoom) { AutoMutex lock(mLock); return mAudioRecord->setMicrophoneFieldDimension(zoom).transactionError(); } // ========================================================================= void AudioRecord::DeathNotifier::binderDied(const wp<IBinder>& who __unused) Loading
media/libaudioclient/aidl/android/media/IAudioRecord.aidl +8 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,12 @@ interface IAudioRecord { /* Get a list of current active microphones. */ void getActiveMicrophones(out MicrophoneInfo[] activeMicrophones); /* Set the microphone direction (for processing). */ void setMicrophoneDirection(int /*audio_microphone_direction_t*/ direction); /* Set the microphone zoom (for processing). */ void setMicrophoneFieldDimension(float zoom); }
media/libaudioclient/include/media/AudioRecord.h +8 −0 Original line number Diff line number Diff line Loading @@ -534,6 +534,14 @@ public: */ status_t getActiveMicrophones(std::vector<media::MicrophoneInfo>* activeMicrophones); /* Set the Microphone direction (for processing purposes). */ status_t setMicrophoneDirection(audio_microphone_direction_t direction); /* Set the Microphone zoom factor (for processing purposes). */ status_t setMicrophoneFieldDimension(float zoom); /* Get the unique port ID assigned to this AudioRecord instance by audio policy manager. * The ID is unique across all audioserver clients and can change during the life cycle * of a given AudioRecord instance if the connection to audioserver is restored. Loading
media/libaudiohal/impl/StreamHalHidl.cpp +24 −0 Original line number Diff line number Diff line Loading @@ -854,5 +854,29 @@ status_t StreamInHalHidl::updateSinkMetadata(const } #endif #if MAJOR_VERSION < 5 status_t StreamInHalHidl::setMicrophoneDirection(audio_microphone_direction_t direction __unused) { if (mStream == 0) return NO_INIT; return INVALID_OPERATION; } status_t StreamInHalHidl::setMicrophoneFieldDimension(float zoom __unused) { if (mStream == 0) return NO_INIT; return INVALID_OPERATION; } #else status_t StreamInHalHidl::setMicrophoneDirection(audio_microphone_direction_t direction) { if (!mStream) return NO_INIT; return processReturn("setMicrophoneDirection", mStream->setMicrophoneDirection(static_cast<MicrophoneDirection>(direction))); } status_t StreamInHalHidl::setMicrophoneFieldDimension(float zoom) { if (!mStream) return NO_INIT; return processReturn("setMicrophoneFieldDimension", mStream->setMicrophoneFieldDimension(zoom)); } #endif } // namespace CPP_VERSION } // namespace android
media/libaudiohal/impl/StreamHalHidl.h +6 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,12 @@ class StreamInHalHidl : public StreamInHalInterface, public StreamHalHidl { // Get active microphones virtual status_t getActiveMicrophones(std::vector<media::MicrophoneInfo> *microphones); // Set microphone direction (for processing) virtual status_t setMicrophoneDirection(audio_microphone_direction_t direction) override; // Set microphone zoom (for processing) virtual status_t setMicrophoneFieldDimension(float zoom) override; // Called when the metadata of the stream's sink has been changed. status_t updateSinkMetadata(const SinkMetadata& sinkMetadata) override; Loading