diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java index 5389b57abc..8f0dda0d56 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/AviExtractor.java @@ -231,6 +231,10 @@ public class AviExtractor implements Extractor { } final Format.Builder builder = new Format.Builder(); builder.setId(streamId); + final int suggestedBufferSize = streamHeader.getSuggestedBufferSize(); + if (suggestedBufferSize != 0) { + builder.setMaxInputSize(suggestedBufferSize); + } final StreamNameBox streamName = streamList.getChild(StreamNameBox.class); if (streamName != null) { builder.setLabel(streamName.getName()); diff --git a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBox.java b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBox.java index 5aecb8ea62..703bb9aa24 100644 --- a/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBox.java +++ b/library/extractor/src/main/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBox.java @@ -97,7 +97,10 @@ public class StreamHeaderBox extends ResidentBox { public long getLength() { return byteBuffer.getInt(32) & AviExtractor.UINT_MASK; } - //36 - dwSuggestedBufferSize + + public int getSuggestedBufferSize() { + return byteBuffer.getInt(36); + } //40 - dwQuality //44 - dwSampleSize // public int getSampleSize() { diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBoxTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBoxTest.java index e56ce01dfc..03b732d1f1 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBoxTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/avi/StreamHeaderBoxTest.java @@ -25,5 +25,6 @@ public class StreamHeaderBoxTest { Assert.assertEquals(US_SAMPLE24FPS, streamHeaderBox.getUsPerSample()); Assert.assertEquals(MimeTypes.VIDEO_MP4V, streamHeaderBox.getMimeType()); Assert.assertEquals(11805L, streamHeaderBox.getLength()); + Assert.assertEquals(0, streamHeaderBox.getSuggestedBufferSize()); } }