summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts
diff options
context:
space:
mode:
authorWonsik Kim <wonsik@google.com>2015-06-10 16:17:45 +0900
committerWonsik Kim <wonsik@google.com>2015-06-11 03:12:21 +0000
commit65959d34fdab8319dbf765be5fbf7ff8051eedf1 (patch)
tree27e85a86bda55a6b9229b9c0b2f66cc61eb50365 /media/libstagefright/mpeg2ts
parentca097142ba4664858bc29bb538bcfcf5ea03ebe7 (diff)
downloadframeworks_av-65959d34fdab8319dbf765be5fbf7ff8051eedf1.zip
frameworks_av-65959d34fdab8319dbf765be5fbf7ff8051eedf1.tar.gz
frameworks_av-65959d34fdab8319dbf765be5fbf7ff8051eedf1.tar.bz2
mpeg2ts: more error tolerance
Be more tolerant with corrupt packet. Instead of reporting EOS, simply discard the damaged packet and continue. Bug: 21764375 Change-Id: Ibfd112db884732a082371c1abbd047077d1bf57e
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp7
1 files changed, 2 insertions, 5 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index 53423ec..4ed4a27 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -694,7 +694,8 @@ status_t ATSParser::Stream::parse(
status_t err = flush(event);
if (err != OK) {
- return err;
+ ALOGW("Error (%08x) happened while flushing; we simply discard "
+ "the PES packet and continue.", err);
}
}
@@ -996,10 +997,6 @@ status_t ATSParser::Stream::parsePES(ABitReader *br, SyncEvent *event) {
return ERROR_MALFORMED;
}
- if (br->numBitsLeft() < dataLength * 8) {
- return ERROR_MALFORMED;
- }
-
onPayloadData(
PTS_DTS_flags, PTS, DTS, br->data(), dataLength, event);