diff options
author | Glenn Kasten <gkasten@google.com> | 2013-07-31 16:10:22 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2013-08-02 16:22:42 -0700 |
commit | 27f7b2a8fe899565487d8a326676a5f7d0a05a37 (patch) | |
tree | fa0b6b4ee7cfb1e6b0e7cd0f6d6114498bb176bf | |
parent | 28f1351369682801e1bb40a835bdae3c97b73c1c (diff) | |
download | frameworks_av-27f7b2a8fe899565487d8a326676a5f7d0a05a37.zip frameworks_av-27f7b2a8fe899565487d8a326676a5f7d0a05a37.tar.gz frameworks_av-27f7b2a8fe899565487d8a326676a5f7d0a05a37.tar.bz2 |
AudioRecord::set and constructor now take flags
The new optional parameter 'flags' of type audio_input_flags_t will be
used for requesting a fast track.
Change-Id: Ia7e070cb57c833e608352da354fb30dc26df6918
-rw-r--r-- | include/media/AudioRecord.h | 8 | ||||
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/include/media/AudioRecord.h b/include/media/AudioRecord.h index 596cf93..bcf2039 100644 --- a/include/media/AudioRecord.h +++ b/include/media/AudioRecord.h @@ -144,6 +144,7 @@ public: * frames are ready in record track output buffer. * sessionId: Not yet supported. * transferType: How data is transferred from AudioRecord. + * flags: See comments on audio_input_flags_t in <system/audio.h> * threadCanCallJava: Not present in parameter list, and so is fixed at false. */ @@ -156,7 +157,8 @@ public: void* user = NULL, int notificationFrames = 0, int sessionId = 0, - transfer_type transferType = TRANSFER_DEFAULT); + transfer_type transferType = TRANSFER_DEFAULT, + audio_input_flags_t flags = AUDIO_INPUT_FLAG_NONE); /* Terminates the AudioRecord and unregisters it from AudioFlinger. * Also destroys all resources associated with the AudioRecord. @@ -188,7 +190,8 @@ public: int notificationFrames = 0, bool threadCanCallJava = false, int sessionId = 0, - transfer_type transferType = TRANSFER_DEFAULT); + transfer_type transferType = TRANSFER_DEFAULT, + audio_input_flags_t flags = AUDIO_INPUT_FLAG_NONE); /* Result of constructing the AudioRecord. This must be checked * before using any AudioRecord API (except for set()), because using @@ -464,6 +467,7 @@ private: audio_source_t mInputSource; uint32_t mLatency; // in ms audio_channel_mask_t mChannelMask; + audio_input_flags_t mFlags; int mSessionId; transfer_type mTransfer; diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 7be7529..d4495dc 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -87,7 +87,8 @@ AudioRecord::AudioRecord( void* user, int notificationFrames, int sessionId, - transfer_type transferType) + transfer_type transferType, + audio_input_flags_t flags) : mStatus(NO_INIT), mSessionId(0), mPreviousPriority(ANDROID_PRIORITY_NORMAL), mPreviousSchedulingGroup(SP_DEFAULT), @@ -129,7 +130,8 @@ status_t AudioRecord::set( int notificationFrames, bool threadCanCallJava, int sessionId, - transfer_type transferType) + transfer_type transferType, + audio_input_flags_t flags) { switch (transferType) { case TRANSFER_DEFAULT: @@ -218,6 +220,8 @@ status_t AudioRecord::set( } ALOGV("set(): mSessionId %d", mSessionId); + mFlags = flags; + audio_io_handle_t input = AudioSystem::getInput(inputSource, sampleRate, format, |