summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/mpeg2ts
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-11-11 13:35:39 -0800
committerAndreas Huber <andih@google.com>2013-11-12 11:28:41 -0800
commit52668ca838e1869676ff95e7388f93ec1858b1e9 (patch)
treea1df92d9d5a0497393aed870ab51e4b423e6b0eb /media/libstagefright/mpeg2ts
parente100b813c4d833b48b48b74100ad0b9a82c46954 (diff)
downloadframeworks_av-52668ca838e1869676ff95e7388f93ec1858b1e9.zip
frameworks_av-52668ca838e1869676ff95e7388f93ec1858b1e9.tar.gz
frameworks_av-52668ca838e1869676ff95e7388f93ec1858b1e9.tar.bz2
Ignore transport stream packets with the "transport_error_indicator" bit set
which indicates that they contain at least one bitstream error that was unrecoverable. Change-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5 related-to-bug: 11537029
Diffstat (limited to 'media/libstagefright/mpeg2ts')
-rw-r--r--media/libstagefright/mpeg2ts/ATSParser.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index 9850a46..175a263 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -1193,7 +1193,10 @@ status_t ATSParser::parseTS(ABitReader *br) {
unsigned sync_byte = br->getBits(8);
CHECK_EQ(sync_byte, 0x47u);
- MY_LOGV("transport_error_indicator = %u", br->getBits(1));
+ if (br->getBits(1)) { // transport_error_indicator
+ // silently ignore.
+ return OK;
+ }
unsigned payload_unit_start_indicator = br->getBits(1);
ALOGV("payload_unit_start_indicator = %u", payload_unit_start_indicator);