Stylistic cleanup

This commit is contained in:
Oliver Woodman 2017-10-19 17:28:24 +01:00
parent 28bd4661ed
commit 64b928e77f
3 changed files with 15 additions and 14 deletions

View File

@ -79,7 +79,7 @@ import com.google.android.exoplayer2.video.AvcConfig;
@Override @Override
protected void parsePayload(ParsableByteArray data, long timeUs) throws ParserException { protected void parsePayload(ParsableByteArray data, long timeUs) throws ParserException {
int packetType = data.readUnsignedByte(); int packetType = data.readUnsignedByte();
int compositionTimeMs = data.readSignedInt24(); int compositionTimeMs = data.readInt24();
timeUs += compositionTimeMs * 1000L; timeUs += compositionTimeMs * 1000L;
// Parse avc sequence header in case this was not done before. // Parse avc sequence header in case this was not done before.

View File

@ -233,7 +233,7 @@ public final class ParsableByteArray {
} }
/** /**
* Reads the next two bytes as an signed value. * Reads the next two bytes as a signed value.
*/ */
public short readShort() { public short readShort() {
return (short) ((data[position++] & 0xFF) << 8 return (short) ((data[position++] & 0xFF) << 8
@ -257,11 +257,12 @@ public final class ParsableByteArray {
} }
/** /**
* Reads the next three bytes as an signed value. * Reads the next three bytes as a signed value.
*/ */
public int readSignedInt24() { public int readInt24() {
int ui24 = readUnsignedInt24(); return ((data[position++] & 0xFF) << 24) >> 8
return (ui24 & 0x800000L) >>> 23 == 1 ? (ui24 | 0xff000000) : ui24; | (data[position++] & 0xFF) << 8
| (data[position++] & 0xFF);
} }
/** /**
@ -313,7 +314,7 @@ public final class ParsableByteArray {
} }
/** /**
* Reads the next four bytes as an signed value in little endian order. * Reads the next four bytes as a signed value in little endian order.
*/ */
public int readLittleEndianInt() { public int readLittleEndianInt() {
return (data[position++] & 0xFF) return (data[position++] & 0xFF)

View File

@ -328,25 +328,25 @@ public final class ParsableByteArrayTest {
@Test @Test
public void testReadLittleEndianUnsignedInt24() { public void testReadLittleEndianUnsignedInt24() {
byte[] data = { 0x01, 0x02, (byte) 0xFF }; byte[] data = {0x01, 0x02, (byte) 0xFF};
ParsableByteArray byteArray = new ParsableByteArray(data); ParsableByteArray byteArray = new ParsableByteArray(data);
assertThat(byteArray.readLittleEndianUnsignedInt24()).isEqualTo(0xFF0201); assertThat(byteArray.readLittleEndianUnsignedInt24()).isEqualTo(0xFF0201);
assertThat(byteArray.getPosition()).isEqualTo(3); assertThat(byteArray.getPosition()).isEqualTo(3);
} }
@Test @Test
public void testReadPositiveSignedInt24() { public void testReadInt24Positive() {
byte[] data = { 0x01, 0x02, (byte) 0xFF }; byte[] data = {0x01, 0x02, (byte) 0xFF};
ParsableByteArray byteArray = new ParsableByteArray(data); ParsableByteArray byteArray = new ParsableByteArray(data);
assertThat(byteArray.readSignedInt24()).isEqualTo(0x0102FF); assertThat(byteArray.readInt24()).isEqualTo(0x0102FF);
assertThat(byteArray.getPosition()).isEqualTo(3); assertThat(byteArray.getPosition()).isEqualTo(3);
} }
@Test @Test
public void testReadNegativeSignedInt24() { public void testReadInt24Negative() {
byte[] data = { (byte)0xFF, 0x02, (byte) 0x01 }; byte[] data = {(byte) 0xFF, 0x02, (byte) 0x01};
ParsableByteArray byteArray = new ParsableByteArray(data); ParsableByteArray byteArray = new ParsableByteArray(data);
assertThat(byteArray.readSignedInt24()).isEqualTo(0xFFFF0201); assertThat(byteArray.readInt24()).isEqualTo(0xFFFF0201);
assertThat(byteArray.getPosition()).isEqualTo(3); assertThat(byteArray.getPosition()).isEqualTo(3);
} }