diff options
author | Andreas Huber <andih@google.com> | 2011-10-12 12:14:23 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-10-12 12:14:23 -0700 |
commit | 33d94067adec48eee6e406b7d849df2018e4c3c2 (patch) | |
tree | 2d8650cd73595c5740222dcc3d3c6f17e8a16405 /media/libstagefright | |
parent | 421648ed06a2c944bc6a5fa866d461761533005b (diff) | |
download | frameworks_base-33d94067adec48eee6e406b7d849df2018e4c3c2.zip frameworks_base-33d94067adec48eee6e406b7d849df2018e4c3c2.tar.gz frameworks_base-33d94067adec48eee6e406b7d849df2018e4c3c2.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')
-rw-r--r-- | media/libstagefright/mpeg2ts/ATSParser.cpp | 6 | ||||
-rw-r--r-- | media/libstagefright/mpeg2ts/ESQueue.cpp | 4 |
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; } |