|
|
|
@ -250,12 +250,16 @@ ARTPAssembler::AssemblyStatus AMPEG4ElementaryAssembler::addPacket(
|
|
|
|
|
} else {
|
|
|
|
|
// hexdump(buffer->data(), buffer->size());
|
|
|
|
|
if (buffer->size() < 2) {
|
|
|
|
|
android_errorWriteLog(0x534e4554, "124783982");
|
|
|
|
|
queue->erase(queue->begin());
|
|
|
|
|
return MALFORMED_PACKET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
unsigned AU_headers_length = U16_AT(buffer->data()); // in bits
|
|
|
|
|
|
|
|
|
|
if (buffer->size() < 2 + (AU_headers_length + 7) / 8) {
|
|
|
|
|
android_errorWriteLog(0x534e4554, "124783982");
|
|
|
|
|
queue->erase(queue->begin());
|
|
|
|
|
return MALFORMED_PACKET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -359,6 +363,8 @@ ARTPAssembler::AssemblyStatus AMPEG4ElementaryAssembler::addPacket(
|
|
|
|
|
return MALFORMED_PACKET;
|
|
|
|
|
}
|
|
|
|
|
if (buffer->size() < offset + header.mSize) {
|
|
|
|
|
android_errorWriteLog(0x534e4554, "124783982");
|
|
|
|
|
queue->erase(queue->begin());
|
|
|
|
|
return MALFORMED_PACKET;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|