summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-10-12 12:14:23 -0700
committerAndreas Huber <andih@google.com>2011-10-12 12:14:23 -0700
commit98a46cf165d8de3779874eba01803bbc485f45b9 (patch)
tree195e2f763e848ae41097eccaaa6d3e7c043df137 /media/libstagefright/mpeg2ts
parent49c59815369616b0fd5451ccabd377e8fe1dc3fa (diff)
downloadframeworks_av-98a46cf165d8de3779874eba01803bbc485f45b9.zip
frameworks_av-98a46cf165d8de3779874eba01803bbc485f45b9.tar.gz
frameworks_av-98a46cf165d8de3779874eba01803bbc485f45b9.tar.bz2
Assume a PTS of 0 if absent, don't bail on fragmented PES packets not having PTS
Change-Id: I3b31f08428fb7195b98f145ae0675006c8756de1 related-to-bug: 5450187
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp6
-rw-r--r--media/libstagefright/mpeg2ts/ESQueue.cpp4
2 files changed, 8 insertions, 2 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index e13464e..72f1282 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -724,8 +724,10 @@ void ATSParser::Stream::onPayloadData(
const uint8_t *data, size_t size) {
LOGV("onPayloadData mStreamType=0x%02x", mStreamType);
- CHECK(PTS_DTS_flags == 2 || PTS_DTS_flags == 3);
- int64_t timeUs = mProgram->convertPTSToTimestamp(PTS);
+ int64_t timeUs = 0ll; // no presentation timestamp available.
+ if (PTS_DTS_flags == 2 || PTS_DTS_flags == 3) {
+ timeUs = mProgram->convertPTSToTimestamp(PTS);
+ }
status_t err = mQueue->appendData(data, size, timeUs);
diff --git a/media/libstagefright/mpeg2ts/ESQueue.cpp b/media/libstagefright/mpeg2ts/ESQueue.cpp
index f8a1d84..a56da36 100644
--- a/media/libstagefright/mpeg2ts/ESQueue.cpp
+++ b/media/libstagefright/mpeg2ts/ESQueue.cpp
@@ -444,6 +444,10 @@ int64_t ElementaryStreamQueue::fetchTimestamp(size_t size) {
}
}
+ if (timeUs == 0ll) {
+ LOGV("Returning 0 timestamp");
+ }
+
return timeUs;
}