diff options
-rw-r--r-- | include/media/AudioSystem.h | 3 | ||||
-rw-r--r-- | include/media/IAudioPolicyService.h | 9 | ||||
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 6 | ||||
-rw-r--r-- | media/libmedia/AudioSystem.cpp | 5 | ||||
-rw-r--r-- | media/libmedia/IAudioPolicyService.cpp | 8 | ||||
-rwxr-xr-x | services/audiopolicy/AudioPolicyInterfaceImpl.cpp | 3 | ||||
-rwxr-xr-x | services/audiopolicy/AudioPolicyInterfaceImplLegacy.cpp | 3 | ||||
-rwxr-xr-x | 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<IAudioPolicyService>& 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 <uint32_t>(format)); data.writeInt32(channelMask); data.writeInt32(audioSession); + data.writeInt32(flags); remote()->transact(GET_INPUT, data, &reply); return static_cast <audio_io_handle_t> (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 <int>(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); |