fix false positives in sync word detection thanks to @jeoliva

parent 2ce938d6
...@@ -225,7 +225,7 @@ import java.util.Collections; ...@@ -225,7 +225,7 @@ import java.util.Collections;
int startOffset = pesBuffer.getPosition(); int startOffset = pesBuffer.getPosition();
int endOffset = pesBuffer.limit(); int endOffset = pesBuffer.limit();
for (int i = startOffset; i < endOffset - 1; i++) { for (int i = startOffset; i < endOffset - 1; i++) {
int syncBits = (mpaData[i] << 8 ) | mpaData[i + 1]; int syncBits = ((mpaData[i] & 0xFF) << 8 ) | (mpaData[i + 1] & 0xFF);
if ((syncBits & 0xFFF0) == 0xFFF0) { if ((syncBits & 0xFFF0) == 0xFFF0) {
hasCrc = (mpaData[i + 1] & 0x1) == 0; hasCrc = (mpaData[i + 1] & 0x1) == 0;
pesBuffer.setPosition(i); pesBuffer.setPosition(i);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment