From dedf414d3fe2e79ee0aad0f1c82ca16ebd886ff6 Mon Sep 17 00:00:00 2001 From: James Dong Date: Wed, 18 Aug 2010 03:32:26 -0700 Subject: Runtime dump support for MediaWriter Change-Id: I10b2c474de612ee4cef4b7c9eae2ee1dd8c2e895 --- media/libstagefright/MPEG4Writer.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'media/libstagefright/MPEG4Writer.cpp') diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp index 568037e..e36d9fe 100644 --- a/media/libstagefright/MPEG4Writer.cpp +++ b/media/libstagefright/MPEG4Writer.cpp @@ -60,6 +60,7 @@ public: bool isAudio() const { return mIsAudio; } bool isMPEG4() const { return mIsMPEG4; } void addChunkOffset(off_t offset) { mChunkOffsets.push_back(offset); } + status_t dump(int fd, const Vector& args) const; private: MPEG4Writer *mOwner; @@ -217,6 +218,37 @@ MPEG4Writer::~MPEG4Writer() { mTracks.clear(); } +status_t MPEG4Writer::dump( + int fd, const Vector& args) { + const size_t SIZE = 256; + char buffer[SIZE]; + String8 result; + snprintf(buffer, SIZE, " MPEG4Writer %p\n", this); + result.append(buffer); + snprintf(buffer, SIZE, " mStarted: %s\n", mStarted? "true": "false"); + result.append(buffer); + ::write(fd, result.string(), result.size()); + for (List::iterator it = mTracks.begin(); + it != mTracks.end(); ++it) { + (*it)->dump(fd, args); + } + return OK; +} + +status_t MPEG4Writer::Track::dump( + int fd, const Vector& args) const { + const size_t SIZE = 256; + char buffer[SIZE]; + String8 result; + snprintf(buffer, SIZE, " %s track\n", mIsAudio? "Audio": "Video"); + result.append(buffer); + snprintf(buffer, SIZE, " reached EOS: %s\n", + mReachedEOS? "true": "false"); + result.append(buffer); + ::write(fd, result.string(), result.size()); + return OK; +} + status_t MPEG4Writer::addSource(const sp &source) { Track *track = new Track(this, source); mTracks.push_back(track); -- cgit v1.1