Skip to content

Commit 33d9406

Browse files
committed
Assume a PTS of 0 if absent, don't bail on fragmented PES packets not having PTS
Change-Id: I3b31f08428fb7195b98f145ae0675006c8756de1 related-to-bug: 5450187
1 parent 421648e commit 33d9406

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

media/libstagefright/mpeg2ts/ATSParser.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -724,8 +724,10 @@ void ATSParser::Stream::onPayloadData(
724724
const uint8_t *data, size_t size) {
725725
LOGV("onPayloadData mStreamType=0x%02x", mStreamType);
726726

727-
CHECK(PTS_DTS_flags == 2 || PTS_DTS_flags == 3);
728-
int64_t timeUs = mProgram->convertPTSToTimestamp(PTS);
727+
int64_t timeUs = 0ll; // no presentation timestamp available.
728+
if (PTS_DTS_flags == 2 || PTS_DTS_flags == 3) {
729+
timeUs = mProgram->convertPTSToTimestamp(PTS);
730+
}
729731

730732
status_t err = mQueue->appendData(data, size, timeUs);
731733

media/libstagefright/mpeg2ts/ESQueue.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,10 @@ int64_t ElementaryStreamQueue::fetchTimestamp(size_t size) {
444444
}
445445
}
446446

447+
if (timeUs == 0ll) {
448+
LOGV("Returning 0 timestamp");
449+
}
450+
447451
return timeUs;
448452
}
449453

0 commit comments

Comments
 (0)