MPEG4Extractor.cpp: handle chunk_size > SIZE_MAX

chunk_size is a uint64_t, so it can legitimately be bigger
than SIZE_MAX, which would cause the subtraction to underflow.

https://code.google.com/p/android/issues/detail?id=182251

Bug: 23034759
Change-Id: Ic1637fb26bf6edb0feb1bcf2876fd370db1ed547

static int32_t readSize(off64_t offset,
 const sp<DataSource> DataSource, uint8_t *numOfBytes) {
 uint32_t size = 0;
 uint8_t data;
 bool moreData = true;
 *numOfBytes = 0;

 while (moreData) {
 if (DataSource->readAt(offset, &data, 1) < 1) {
 return -1;
 }
        offset ++;
        moreData = (data >= 128) ? true : false;
        size = (size << 7) | (data & 0x7f); // Take last 7 bits
 (*numOfBytes) ++;
 }

 return size;
}

static int32_t readSize(off64_t offset,
 const sp<DataSource> DataSource, uint8_t *numOfBytes) {
 uint32_t size = 0;
 uint8_t data;
 bool moreData = true;
 *numOfBytes = 0;

 while (moreData) {
 if (DataSource->readAt(offset, &data, 1) < 1) {
 return -1;
 }
        offset ++;
        moreData = (data >= 128) ? true : false;
        size = (size << 7) | (data & 0x7f); // Take last 7 bits
 (*numOfBytes) ++;
 }

 return size;
}
