Merge changes from topic "am-3bd7761d-0a22-43c4-98aa-44bfc62874ad" into nyc-mr1-dev

* changes:
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5
  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073
  better mpeg2 TS elementary stream Access Unit parsing
diff --git a/media/libstagefright/mpeg2ts/ESQueue.cpp b/media/libstagefright/mpeg2ts/ESQueue.cpp
index 7599c13..c454a0e 100644
--- a/media/libstagefright/mpeg2ts/ESQueue.cpp
+++ b/media/libstagefright/mpeg2ts/ESQueue.cpp
@@ -1202,7 +1202,9 @@
         const uint8_t *data, size_t size) {
     static const char kStartCode[] = "\x00\x00\x01";
 
-    if (size < 3) {
+    // per ISO/IEC 14496-2 6.2.1, a chunk has a 3-byte prefix + 1-byte start code
+    // we need at least <prefix><start><next prefix> to successfully scan
+    if (size < 3 + 1 + 3) {
         return -EAGAIN;
     }
 
@@ -1210,7 +1212,7 @@
         return -EAGAIN;
     }
 
-    size_t offset = 3;
+    size_t offset = 4;
     while (offset + 2 < size) {
         if (!memcmp(&data[offset], kStartCode, 3)) {
             return offset;
@@ -1261,6 +1263,9 @@
                     state = EXPECT_VISUAL_OBJECT_START;
                 } else {
                     discard = true;
+                    offset += chunkSize;
+                    ALOGW("b/74114680, advance to next chunk");
+                    android_errorWriteLog(0x534e4554, "74114680");
                 }
                 break;
             }