diff options
author | Wonsik Kim <wonsik@google.com> | 2015-06-10 16:17:45 +0900 |
---|---|---|
committer | Wonsik Kim <wonsik@google.com> | 2015-06-11 03:12:21 +0000 |
commit | 65959d34fdab8319dbf765be5fbf7ff8051eedf1 (patch) | |
tree | 27e85a86bda55a6b9229b9c0b2f66cc61eb50365 /media | |
parent | ca097142ba4664858bc29bb538bcfcf5ea03ebe7 (diff) | |
download | frameworks_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')
-rw-r--r-- | media/libstagefright/mpeg2ts/ATSParser.cpp | 7 |
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); |