am 3f51fa78: Runtime dump support for MediaWriter
Merge commit '3f51fa78ada0e064d23db5961337280c267cc2c0' into gingerbread-plus-aosp * commit '3f51fa78ada0e064d23db5961337280c267cc2c0': Runtime dump support for MediaWriter
This commit is contained in:
@@ -40,6 +40,7 @@ public:
|
||||
virtual status_t stop();
|
||||
virtual status_t pause();
|
||||
virtual bool reachedEOS();
|
||||
virtual status_t dump(int fd, const Vector<String16>& args);
|
||||
|
||||
void beginBox(const char *fourcc);
|
||||
void writeInt8(int8_t x);
|
||||
|
||||
@@ -44,6 +44,10 @@ struct MediaWriter : public RefBase {
|
||||
mListener = listener;
|
||||
}
|
||||
|
||||
virtual status_t dump(int fd, const Vector<String16>& args) {
|
||||
return OK;
|
||||
}
|
||||
|
||||
protected:
|
||||
virtual ~MediaWriter() {}
|
||||
int64_t mMaxFileSizeLimitBytes;
|
||||
|
||||
@@ -1162,11 +1162,19 @@ status_t StagefrightRecorder::getMaxAmplitude(int *max) {
|
||||
return OK;
|
||||
}
|
||||
|
||||
status_t StagefrightRecorder::dump(int fd, const Vector<String16>& args) const {
|
||||
status_t StagefrightRecorder::dump(
|
||||
int fd, const Vector<String16>& args) const {
|
||||
LOGV("dump");
|
||||
const size_t SIZE = 256;
|
||||
char buffer[SIZE];
|
||||
String8 result;
|
||||
snprintf(buffer, SIZE, " Recorder: %p", this);
|
||||
if (mWriter != 0) {
|
||||
mWriter->dump(fd, args);
|
||||
} else {
|
||||
snprintf(buffer, SIZE, " No file writer\n");
|
||||
result.append(buffer);
|
||||
}
|
||||
snprintf(buffer, SIZE, " Recorder: %p\n", this);
|
||||
snprintf(buffer, SIZE, " Output file (fd %d):\n", mOutputFd);
|
||||
result.append(buffer);
|
||||
snprintf(buffer, SIZE, " File format: %d\n", mOutputFormat);
|
||||
|
||||
@@ -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<String16>& args) const;
|
||||
|
||||
private:
|
||||
MPEG4Writer *mOwner;
|
||||
@@ -217,6 +218,37 @@ MPEG4Writer::~MPEG4Writer() {
|
||||
mTracks.clear();
|
||||
}
|
||||
|
||||
status_t MPEG4Writer::dump(
|
||||
int fd, const Vector<String16>& 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<Track *>::iterator it = mTracks.begin();
|
||||
it != mTracks.end(); ++it) {
|
||||
(*it)->dump(fd, args);
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
status_t MPEG4Writer::Track::dump(
|
||||
int fd, const Vector<String16>& 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<MediaSource> &source) {
|
||||
Track *track = new Track(this, source);
|
||||
mTracks.push_back(track);
|
||||
|
||||
Reference in New Issue
Block a user