From 38360f626729a75a016ba20a546b40405b30ea80 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 7 Aug 2017 11:05:12 -0700 Subject: [PATCH] Add support for HLS's FRAME-RATE attribute ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=164482135 --- .../hls/playlist/HlsMasterPlaylistParserTest.java | 7 +++++-- .../source/hls/playlist/HlsPlaylistParser.java | 11 ++++++++--- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java b/library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java index f835c87466..35cd7f03d8 100644 --- a/library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java +++ b/library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java @@ -42,10 +42,10 @@ public class HlsMasterPlaylistParserTest extends TestCase { + "#EXT-X-STREAM-INF:BANDWIDTH=1280000,CODECS=\"mp4a.40.2 , avc1.66.30 \"\n" + "http://example.com/spaces_in_codecs.m3u8\n" + "\n" - + "#EXT-X-STREAM-INF:BANDWIDTH=2560000,RESOLUTION=384x160\n" + + "#EXT-X-STREAM-INF:BANDWIDTH=2560000,FRAME-RATE=25,RESOLUTION=384x160\n" + "http://example.com/mid.m3u8\n" + "\n" - + "#EXT-X-STREAM-INF:BANDWIDTH=7680000\n" + + "#EXT-X-STREAM-INF:BANDWIDTH=7680000,FRAME-RATE=29.997\n" + "http://example.com/hi.m3u8\n" + "\n" + "#EXT-X-STREAM-INF:BANDWIDTH=65000,CODECS=\"mp4a.40.5\"\n" @@ -96,18 +96,21 @@ public class HlsMasterPlaylistParserTest extends TestCase { assertNull(variants.get(2).format.codecs); assertEquals(384, variants.get(2).format.width); assertEquals(160, variants.get(2).format.height); + assertEquals(25.0f, variants.get(2).format.frameRate); assertEquals("http://example.com/mid.m3u8", variants.get(2).url); assertEquals(7680000, variants.get(3).format.bitrate); assertNull(variants.get(3).format.codecs); assertEquals(Format.NO_VALUE, variants.get(3).format.width); assertEquals(Format.NO_VALUE, variants.get(3).format.height); + assertEquals(29.997f, variants.get(3).format.frameRate); assertEquals("http://example.com/hi.m3u8", variants.get(3).url); assertEquals(65000, variants.get(4).format.bitrate); assertEquals("mp4a.40.5", variants.get(4).format.codecs); assertEquals(Format.NO_VALUE, variants.get(4).format.width); assertEquals(Format.NO_VALUE, variants.get(4).format.height); + assertEquals((float) Format.NO_VALUE, variants.get(4).format.frameRate); assertEquals("http://example.com/audio-only.m3u8", variants.get(4).url); } diff --git a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java index 09d6fcfa18..c5d3302eca 100644 --- a/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java +++ b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java @@ -81,6 +81,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser