From 724a1816e7bd503d7a1f491a90f76c8cf3ca6a16 Mon Sep 17 00:00:00 2001 From: Eric Laurent Date: Wed, 6 Dec 2017 16:59:56 -0800 Subject: [PATCH] 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 --- media/libaudioclient/AudioRecord.cpp | 21 +++++++++++++++++++ .../include/media/AudioRecord.h | 5 +++++ 2 files changed, 26 insertions(+) diff --git a/media/libaudioclient/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp index 741d084baa..0d4b4623a7 100644 --- a/media/libaudioclient/AudioRecord.cpp +++ b/media/libaudioclient/AudioRecord.cpp @@ -530,6 +530,27 @@ audio_port_handle_t AudioRecord::getRoutedDeviceId() { return mRoutedDeviceId; } +status_t AudioRecord::dump(int fd, const Vector& 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 diff --git a/media/libaudioclient/include/media/AudioRecord.h b/media/libaudioclient/include/media/AudioRecord.h index 00c2a88d9c..074e5470dd 100644 --- a/media/libaudioclient/include/media/AudioRecord.h +++ b/media/libaudioclient/include/media/AudioRecord.h @@ -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& args) const; + private: /* copying audio record objects is not allowed */ AudioRecord(const AudioRecord& other);