add dump() method to AudioRecord

Add a dump() method to AudioRecord.
Can be used by dumpsys or tests.

Test: run test_create_audiorecord
Change-Id: I4b3133601eeff4d5447ca2c5b13a01ff3451b6c7
gugelfrei
Eric Laurent 7 years ago
parent 896c967084
commit 724a1816e7

@ -530,6 +530,27 @@ audio_port_handle_t AudioRecord::getRoutedDeviceId() {
return mRoutedDeviceId;
}
status_t AudioRecord::dump(int fd, const Vector<String16>& args __unused) const
{
String8 result;
result.append(" AudioRecord::dump\n");
result.appendFormat(" status(%d), active(%d), session Id(%d)\n",
mStatus, mActive, mSessionId);
result.appendFormat(" flags(%#x), req. flags(%#x), audio source(%d)\n",
mFlags, mOrigFlags, mAttributes.source);
result.appendFormat(" format(%#x), channel mask(%#x), channel count(%u), sample rate(%u)\n",
mFormat, mChannelMask, mChannelCount, mSampleRate);
result.appendFormat(" frame count(%zu), req. frame count(%zu)\n",
mFrameCount, mReqFrameCount);
result.appendFormat(" notif. frame count(%u), req. notif. frame count(%u)\n",
mNotificationFramesAct, mNotificationFramesReq);
result.appendFormat(" input(%d), latency(%u), selected device Id(%d), routed device Id(%d)\n",
mInput, mLatency, mSelectedDeviceId, mRoutedDeviceId);
::write(fd, result.string(), result.size());
return NO_ERROR;
}
// -------------------------------------------------------------------------
// TODO Move this macro to a common header file for enum to string conversion in audio framework.
#define MEDIA_CASE_ENUM(name) case name: return #name

@ -521,6 +521,11 @@ public:
/* Get the flags */
audio_input_flags_t getFlags() const { AutoMutex _l(mLock); return mFlags; }
/*
* Dumps the state of an audio record.
*/
status_t dump(int fd, const Vector<String16>& args) const;
private:
/* copying audio record objects is not allowed */
AudioRecord(const AudioRecord& other);

Loading…
Cancel
Save