Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
33667ebc
authored
Aug 06, 2019
by
Steve Mayhew
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Add basic unit test for parsing.
parent
f9151dfe
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
0 deletions
library/hls/src/test/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java
library/hls/src/test/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java
View file @
33667ebc
...
...
@@ -24,6 +24,7 @@ import com.google.android.exoplayer2.C;
import
com.google.android.exoplayer2.Format
;
import
com.google.android.exoplayer2.ParserException
;
import
com.google.android.exoplayer2.metadata.Metadata
;
import
com.google.android.exoplayer2.source.hls.HlsMediaSource
;
import
com.google.android.exoplayer2.source.hls.HlsTrackMetadataEntry
;
import
com.google.android.exoplayer2.util.MimeTypes
;
import
java.io.ByteArrayInputStream
;
...
...
@@ -194,6 +195,22 @@ public class HlsMasterPlaylistParserTest {
+
"#EXT-X-MEDIA:TYPE=SUBTITLES,"
+
"GROUP-ID=\"sub1\",NAME=\"English\",URI=\"s1/en/prog_index.m3u8\"\n"
;
private
static
final
String
PLAYLIST_WITH_IFRAME_VARIANTS
=
"#EXTM3U\n"
+
"#EXT-X-VERSION:5\n"
+
"#EXT-X-MEDIA:URI=\"AUDIO_English/index.m3u8\",TYPE=AUDIO,GROUP-ID=\"audio-aac\",LANGUAGE=\"en\",NAME=\"English\",AUTOSELECT=YES\n"
+
"#EXT-X-MEDIA:URI=\"AUDIO_Spanish/index.m3u8\",TYPE=AUDIO,GROUP-ID=\"audio-aac\",LANGUAGE=\"es\",NAME=\"Spanish\",AUTOSELECT=YES\n"
+
"#EXT-X-MEDIA:TYPE=CLOSED-CAPTIONS,GROUP-ID=\"cc1\",LANGUAGE=\"en\",NAME=\"English\",AUTOSELECT=YES,DEFAULT=YES,INSTREAM-ID=\"CC1\"\n"
+
"#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=400000,RESOLUTION=480x320,CODECS=\"mp4a.40.2,avc1.640015\",AUDIO=\"audio-aac\",CLOSED-CAPTIONS=\"cc1\"\n"
+
"400000/index.m3u8\n"
+
"#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1000000,RESOLUTION=848x480,CODECS=\"mp4a.40.2,avc1.64001f\",AUDIO=\"audio-aac\",CLOSED-CAPTIONS=\"cc1\"\n"
+
"1000000/index.m3u8\n"
+
"#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3220000,RESOLUTION=1280x720,CODECS=\"mp4a.40.2,avc1.64001f\",AUDIO=\"audio-aac\",CLOSED-CAPTIONS=\"cc1\"\n"
+
"3220000/index.m3u8\n"
+
"#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=8940000,RESOLUTION=1920x1080,CODECS=\"mp4a.40.2,avc1.640028\",AUDIO=\"audio-aac\",CLOSED-CAPTIONS=\"cc1\"\n"
+
"8940000/index.m3u8\n"
+
"#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1313400,RESOLUTION=1920x1080,CODECS=\"avc1.640028\",URI=\"iframe_1313400/index.m3u8\"\n"
;
@Test
public
void
parseMasterPlaylist_withSimple_success
()
throws
IOException
{
HlsMasterPlaylist
masterPlaylist
=
parseMasterPlaylist
(
PLAYLIST_URI
,
PLAYLIST_SIMPLE
);
...
...
@@ -381,6 +398,15 @@ public class HlsMasterPlaylistParserTest {
.
isEqualTo
(
createExtXMediaMetadata
(
/* groupId= */
"aud3"
,
/* name= */
"English"
));
}
@Test
public
void
testIFrameVariant
()
throws
IOException
{
HlsMasterPlaylist
playlist
=
parseMasterPlaylist
(
PLAYLIST_URI
,
PLAYLIST_WITH_IFRAME_VARIANTS
);
assertThat
(
playlist
.
variants
).
hasSize
(
4
);
assertThat
(
playlist
.
iFrameVariants
).
hasSize
(
1
);
assertThat
(
playlist
.
iFrameVariants
.
get
(
0
).
format
.
bitrate
).
isEqualTo
(
1313400
);
assertThat
(
playlist
.
iFrameVariants
.
get
(
0
).
format
.
roleFlags
&
C
.
ROLE_FLAG_TRICK_PLAY
).
isEqualTo
(
C
.
ROLE_FLAG_TRICK_PLAY
);
}
private
static
Metadata
createExtXStreamInfMetadata
(
HlsTrackMetadataEntry
.
VariantInfo
...
infos
)
{
return
new
Metadata
(
new
HlsTrackMetadataEntry
(
/* groupId= */
null
,
/* name= */
null
,
Arrays
.
asList
(
infos
)));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment