summaryrefslogtreecommitdiffstats
path: root/libs/audioflinger/AudioDumpInterface.h
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-05-12 08:24:18 -0700
committerEric Laurent <elaurent@google.com>2010-05-12 08:31:04 -0700
commitfc1246640f1ac7f562c6a05ab34d7847ff8cca05 (patch)
treea66df8aae9d213a51d5ebbc4d71d0732412c75e7 /libs/audioflinger/AudioDumpInterface.h
parent2cd841d485968181eb362338b9e66067767bd2eb (diff)
downloadframeworks_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.h12
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;