summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@android.com>2013-03-15 15:11:27 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-03-15 15:11:28 +0000
commitf0cea9f83cf0c8e5ecdd2b401ec2d56d0c717708 (patch)
tree1daebe8f5b39109f8e862c0c5ec3dea3eba1204a
parentc0048178a1d312e7e05557ba99becd6a89b9e97a (diff)
parentf7c18cf13354ac33b14de0af31c687f5e7d3a207 (diff)
Merge "Prevent invalid frame durations"
-rwxr-xr-xlibvideoeditor/vss/3gpwriter/src/M4MP4W_Writer.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Writer.c b/libvideoeditor/vss/3gpwriter/src/M4MP4W_Writer.c
index 9ad94e08..cdfc441c 100755
--- a/libvideoeditor/vss/3gpwriter/src/M4MP4W_Writer.c
+++ b/libvideoeditor/vss/3gpwriter/src/M4MP4W_Writer.c
@@ -2486,6 +2486,12 @@ M4OSA_ERR M4MP4W_processAU( M4OSA_Context context, M4SYS_StreamID streamID,
#endif
+ if ((M4MP4W_Time32)auPtr->CTS < mMp4FileDataPtr->videoTrackPtr->CommonData.lastCTS) {
+ // Do not report as error, it will abort the entire filewrite. Just skip this frame.
+ M4OSA_TRACE1_0("Skip frame. Video frame has too old timestamp.");
+ return M4NO_ERROR;
+ }
+
mMp4FileDataPtr->videoTrackPtr->currentPos += auPtr->size;
/* Warning: time conversion cast 64to32! */