summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libs/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/libs/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp b/libs/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
index bc991e8e1..7d3a8f7da 100644
--- a/libs/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
+++ b/libs/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
@@ -385,6 +385,7 @@ status_t SampleTable::setTimeToSampleParams(
// contains signed values, however some software creates version 0 files that
// contain signed values, so we're always treating the values as signed,
// regardless of version.
+// We do the same with ctts flags to work around encoder software issues.
status_t SampleTable::setCompositionTimeToSampleParams(
off64_t data_offset, size_t data_size) {
ALOGV("There are reordered frames present.");
@@ -406,8 +407,8 @@ status_t SampleTable::setCompositionTimeToSampleParams(
uint32_t version = flags >> 24;
flags &= 0xffffff;
- if ((version != 0 && version != 1) || flags != 0) {
- // Expected version = 0 or 1, flags = 0.
+ if ((version != 0 && version != 1) || (flags != 0 && flags != 1)) {
+ // Expected version = 0 or 1, flags = 0 or 1.
return ERROR_MALFORMED;
}