From b3b1660ecb67f61f9da54efced8677fa3a6f4863 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Wed, 16 Jul 2014 08:36:31 -0700 Subject: Add audio_input_flags_t to IAudioPolicyService::getInput Change-Id: I9f37be05f8dc7b85a8827a94e76ca0f45453e170 --- include/media/AudioSystem.h | 3 ++- include/media/IAudioPolicyService.h | 9 +++++---- media/libmedia/AudioRecord.cpp | 6 +++--- media/libmedia/AudioSystem.cpp | 5 +++-- media/libmedia/IAudioPolicyService.cpp | 8 ++++++-- services/audiopolicy/AudioPolicyInterfaceImpl.cpp | 3 ++- services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp | 3 ++- services/audiopolicy/AudioPolicyService.h | 9 +++++---- 8 files changed, 28 insertions(+), 18 deletions(-) diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h index e1aab41..9ea18de 100644 --- a/include/media/AudioSystem.h +++ b/include/media/AudioSystem.h @@ -234,7 +234,8 @@ public: uint32_t samplingRate, audio_format_t format, audio_channel_mask_t channelMask, - int sessionId); + int sessionId, + audio_input_flags_t); static status_t startInput(audio_io_handle_t input); static status_t stopInput(audio_io_handle_t input); diff --git a/include/media/IAudioPolicyService.h b/include/media/IAudioPolicyService.h index 959e4c3..e08b5ae 100644 --- a/include/media/IAudioPolicyService.h +++ b/include/media/IAudioPolicyService.h @@ -70,10 +70,11 @@ public: int session = 0) = 0; virtual void releaseOutput(audio_io_handle_t output) = 0; virtual audio_io_handle_t getInput(audio_source_t inputSource, - uint32_t samplingRate = 0, - audio_format_t format = AUDIO_FORMAT_DEFAULT, - audio_channel_mask_t channelMask = 0, - int audioSession = 0) = 0; + uint32_t samplingRate, + audio_format_t format, + audio_channel_mask_t channelMask, + int audioSession, + audio_input_flags_t flags) = 0; virtual status_t startInput(audio_io_handle_t input) = 0; virtual status_t stopInput(audio_io_handle_t input) = 0; virtual void releaseInput(audio_io_handle_t input) = 0; diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 3ee5809..c474a25 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -481,11 +481,11 @@ status_t AudioRecord::openRecord_l(size_t epoch) } audio_io_handle_t input = AudioSystem::getInput(mInputSource, mSampleRate, mFormat, - mChannelMask, mSessionId); + mChannelMask, mSessionId, mFlags); if (input == AUDIO_IO_HANDLE_NONE) { ALOGE("Could not get audio input for record source %d, sample rate %u, format %#x, " - "channel mask %#x, session %d", - mInputSource, mSampleRate, mFormat, mChannelMask, mSessionId); + "channel mask %#x, session %d, flags %#x", + mInputSource, mSampleRate, mFormat, mChannelMask, mSessionId, mFlags); return BAD_VALUE; } { diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp index a47d45c..fd5824b 100644 --- a/media/libmedia/AudioSystem.cpp +++ b/media/libmedia/AudioSystem.cpp @@ -688,11 +688,12 @@ audio_io_handle_t AudioSystem::getInput(audio_source_t inputSource, uint32_t samplingRate, audio_format_t format, audio_channel_mask_t channelMask, - int sessionId) + int sessionId, + audio_input_flags_t flags) { const sp& aps = AudioSystem::get_audio_policy_service(); if (aps == 0) return 0; - return aps->getInput(inputSource, samplingRate, format, channelMask, sessionId); + return aps->getInput(inputSource, samplingRate, format, channelMask, sessionId, flags); } status_t AudioSystem::startInput(audio_io_handle_t input) diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp index 41a9065..40dfb58 100644 --- a/media/libmedia/IAudioPolicyService.cpp +++ b/media/libmedia/IAudioPolicyService.cpp @@ -225,7 +225,8 @@ public: uint32_t samplingRate, audio_format_t format, audio_channel_mask_t channelMask, - int audioSession) + int audioSession, + audio_input_flags_t flags) { Parcel data, reply; data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor()); @@ -234,6 +235,7 @@ public: data.writeInt32(static_cast (format)); data.writeInt32(channelMask); data.writeInt32(audioSession); + data.writeInt32(flags); remote()->transact(GET_INPUT, data, &reply); return static_cast (reply.readInt32()); } @@ -707,11 +709,13 @@ status_t BnAudioPolicyService::onTransact( audio_format_t format = (audio_format_t) data.readInt32(); audio_channel_mask_t channelMask = data.readInt32(); int audioSession = data.readInt32(); + audio_input_flags_t flags = (audio_input_flags_t) data.readInt32(); audio_io_handle_t input = getInput(inputSource, samplingRate, format, channelMask, - audioSession); + audioSession, + flags); reply->writeInt32(static_cast (input)); return NO_ERROR; } break; diff --git a/services/audiopolicy/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/AudioPolicyInterfaceImpl.cpp index 5a13ac2..a41721f 100755 --- a/services/audiopolicy/AudioPolicyInterfaceImpl.cpp +++ b/services/audiopolicy/AudioPolicyInterfaceImpl.cpp @@ -214,7 +214,8 @@ audio_io_handle_t AudioPolicyService::getInput(audio_source_t inputSource, uint32_t samplingRate, audio_format_t format, audio_channel_mask_t channelMask, - int audioSession) + int audioSession, + audio_input_flags_t flags __unused) { if (mAudioPolicyManager == NULL) { return 0; diff --git a/services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp b/services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp index 0a246f2..5ef02e5 100755 --- a/services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp +++ b/services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp @@ -202,7 +202,8 @@ audio_io_handle_t AudioPolicyService::getInput(audio_source_t inputSource, uint32_t samplingRate, audio_format_t format, audio_channel_mask_t channelMask, - int audioSession) + int audioSession, + audio_input_flags_t flags __unused) { if (mpAudioPolicy == NULL) { return 0; diff --git a/services/audiopolicy/AudioPolicyService.h b/services/audiopolicy/AudioPolicyService.h index 4a81423..08942ee 100755 --- a/services/audiopolicy/AudioPolicyService.h +++ b/services/audiopolicy/AudioPolicyService.h @@ -86,10 +86,11 @@ public: int session = 0); virtual void releaseOutput(audio_io_handle_t output); virtual audio_io_handle_t getInput(audio_source_t inputSource, - uint32_t samplingRate = 0, - audio_format_t format = AUDIO_FORMAT_DEFAULT, - audio_channel_mask_t channelMask = 0, - int audioSession = 0); + uint32_t samplingRate, + audio_format_t format, + audio_channel_mask_t channelMask, + int audioSession, + audio_input_flags_t flags); virtual status_t startInput(audio_io_handle_t input); virtual status_t stopInput(audio_io_handle_t input); virtual void releaseInput(audio_io_handle_t input); -- cgit v1.1