diff options
| author | Eric Laurent <elaurent@google.com> | 2010-05-12 08:24:18 -0700 |
|---|---|---|
| committer | Eric Laurent <elaurent@google.com> | 2010-05-12 08:31:04 -0700 |
| commit | fc1246640f1ac7f562c6a05ab34d7847ff8cca05 (patch) | |
| tree | a66df8aae9d213a51d5ebbc4d71d0732412c75e7 /libs/audioflinger/AudioDumpInterface.h | |
| parent | 2cd841d485968181eb362338b9e66067767bd2eb (diff) | |
| download | frameworks_base-fc1246640f1ac7f562c6a05ab34d7847ff8cca05.zip frameworks_base-fc1246640f1ac7f562c6a05ab34d7847ff8cca05.tar.gz frameworks_base-fc1246640f1ac7f562c6a05ab34d7847ff8cca05.tar.bz2 | |
Several fixes in AudioDumpInterface:
- forward setMode() and getInputBufferSize() calls to underlying audio hardware interface.
- Allow capture of more than one output stream (previous implementation was only capturing
the first output opened, namely the hardware output).
- Allow capture of input streams: previous implementation was only simulating input streams
when more than one was open at a time by reading from a file on SD card). Now the default
behavior is to capture PCM data read from input stream if it was successfully opened or
simulate capture otherwise.
Change-Id: I7e2892b25e295fc3c19c7eb0f71bfaea5816b73a
Diffstat (limited to 'libs/audioflinger/AudioDumpInterface.h')
| -rw-r--r-- | libs/audioflinger/AudioDumpInterface.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libs/audioflinger/AudioDumpInterface.h b/libs/audioflinger/AudioDumpInterface.h index 4c62b3e..814ce5f 100644 --- a/libs/audioflinger/AudioDumpInterface.h +++ b/libs/audioflinger/AudioDumpInterface.h @@ -69,7 +69,7 @@ private: uint32_t mDevice; // current device this output is routed to size_t mBufferSize; AudioStreamOut *mFinalStream; - FILE *mOutFile; // output file + FILE *mFile; // output file int mFileCount; }; @@ -109,7 +109,8 @@ private: uint32_t mDevice; // current device this output is routed to size_t mBufferSize; AudioStreamIn *mFinalStream; - FILE *mInFile; // output file + FILE *mFile; // output file + int mFileCount; }; class AudioDumpInterface : public AudioHardwareBase @@ -134,6 +135,8 @@ public: virtual status_t setMasterVolume(float volume) {return mFinalInterface->setMasterVolume(volume);} + virtual status_t setMode(int mode); + // mic mute virtual status_t setMicMute(bool state) {return mFinalInterface->setMicMute(state);} @@ -143,6 +146,8 @@ public: virtual status_t setParameters(const String8& keyValuePairs); virtual String8 getParameters(const String8& keys); + virtual size_t getInputBufferSize(uint32_t sampleRate, int format, int channelCount); + virtual AudioStreamIn* openInputStream(uint32_t devices, int *format, uint32_t *channels, uint32_t *sampleRate, status_t *status, AudioSystem::audio_in_acoustics acoustics); virtual void closeInputStream(AudioStreamIn* in); @@ -153,8 +158,7 @@ public: protected: AudioHardwareInterface *mFinalInterface; - SortedVector<AudioStreamOutDump *> mOutputs; - bool mFirstHwOutput; + SortedVector<AudioStreamOutDump *> mOutputs; SortedVector<AudioStreamInDump *> mInputs; Mutex mLock; String8 mPolicyCommands; |
