From 9592a8a4ffcbd238cf4d2aa9f96527fce3cc85e3 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Mon, 7 Sep 2015 13:57:45 +0100 Subject: [PATCH] Fix IFR parsing --- .../com/google/android/exoplayer/extractor/ts/H264Reader.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/ts/H264Reader.java b/library/src/main/java/com/google/android/exoplayer/extractor/ts/H264Reader.java index 7448aa1677..05900da00e 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/ts/H264Reader.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/ts/H264Reader.java @@ -265,7 +265,7 @@ import java.util.List; } /** - * Invoked to pass stream data. The data passed should not include 4 byte NAL unit prefixes. + * Invoked to pass stream data. The data passed should not include the 3 byte start code. * * @param data Holds the data being passed. * @param offset The offset of the data in {@code data}. @@ -283,6 +283,7 @@ import java.util.List; ifrLength += readLength; scratchSliceType.reset(ifrData, ifrLength); + scratchSliceType.skipBits(8); // first_mb_in_slice int len = scratchSliceType.peekExpGolombCodedNumLength(); if ((len == -1) || (len > scratchSliceType.bitsLeft())) {