summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MPEG4Writer.cpp
diff options
context:
space:
mode:
authorJames Dong <jdong@google.com>2011-06-21 17:22:37 -0700
committerJames Dong <jdong@google.com>2011-06-22 10:09:03 -0700
commit45c254c0c535e1d62f23d14cab7385d536c1e2bf (patch)
tree28f89e391f79936316b8323a086135e943db8d42 /media/libstagefright/MPEG4Writer.cpp
parent6ef9a104959c1d15232fe3a319e4a270eed3ddb5 (diff)
downloadframeworks_av-45c254c0c535e1d62f23d14cab7385d536c1e2bf.zip
frameworks_av-45c254c0c535e1d62f23d14cab7385d536c1e2bf.tar.gz
frameworks_av-45c254c0c535e1d62f23d14cab7385d536c1e2bf.tar.bz2
Add some error log messages to indicate the failure of a recording session
Change-Id: I8c5885200bcf6a59736076efc021f07f45a0fdac
Diffstat (limited to 'media/libstagefright/MPEG4Writer.cpp')
-rw-r--r--media/libstagefright/MPEG4Writer.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/media/libstagefright/MPEG4Writer.cpp b/media/libstagefright/MPEG4Writer.cpp
index ea9911c..f075699 100644
--- a/media/libstagefright/MPEG4Writer.cpp
+++ b/media/libstagefright/MPEG4Writer.cpp
@@ -205,6 +205,8 @@ private:
// Duration is time scale based
void addOneSttsTableEntry(size_t sampleCount, int32_t timescaledDur);
void addOneCttsTableEntry(size_t sampleCount, int32_t timescaledDur);
+
+ bool isTrackMalFormed() const;
void sendTrackSummary(bool hasMultipleTracks);
// Write the boxes
@@ -1975,7 +1977,6 @@ status_t MPEG4Writer::Track::threadEntry() {
}
CHECK(timestampUs >= 0);
-
LOGV("%s media time stamp: %lld and previous paused duration %lld",
mIsAudio? "Audio": "Video", timestampUs, previousPausedDurationUs);
if (timestampUs > mTrackDurationUs) {
@@ -2082,11 +2083,10 @@ status_t MPEG4Writer::Track::threadEntry() {
}
- if (mSampleSizes.empty() || // no samples written
- (!mIsAudio && mNumStssTableEntries == 0) || // no sync frames for video
- (OK != checkCodecSpecificData())) { // no codec specific data
+ if (isTrackMalFormed()) {
err = ERROR_MALFORMED;
}
+
mOwner->trackProgressStatus(mTrackId, -1, err);
// Last chunk
@@ -2136,6 +2136,24 @@ status_t MPEG4Writer::Track::threadEntry() {
return err;
}
+bool MPEG4Writer::Track::isTrackMalFormed() const {
+ if (mSampleSizes.empty()) { // no samples written
+ LOGE("The number of recorded samples is 0");
+ return true;
+ }
+
+ if (!mIsAudio && mNumStssTableEntries == 0) { // no sync frames for video
+ LOGE("There are no sync frames for video track");
+ return true;
+ }
+
+ if (OK != checkCodecSpecificData()) { // no codec specific data
+ return true;
+ }
+
+ return false;
+}
+
void MPEG4Writer::Track::sendTrackSummary(bool hasMultipleTracks) {
// Send track summary only if test mode is enabled.