diff --git a/library/all/build.gradle b/library/all/build.gradle
index 93a0c03da8..c0874352b3 100644
--- a/library/all/build.gradle
+++ b/library/all/build.gradle
@@ -27,8 +27,9 @@ android {
dependencies {
compile project(':library-core')
- compile project(':library-ui')
+ compile project(':library-hls')
compile project(':library-smoothstreaming')
+ compile project(':library-ui')
}
android.libraryVariants.all { variant ->
diff --git a/library/hls/build.gradle b/library/hls/build.gradle
new file mode 100644
index 0000000000..bf19de9abd
--- /dev/null
+++ b/library/hls/build.gradle
@@ -0,0 +1,38 @@
+// Copyright (C) 2017 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+apply plugin: 'com.android.library'
+
+android {
+ compileSdkVersion project.ext.compileSdkVersion
+ buildToolsVersion project.ext.buildToolsVersion
+
+ defaultConfig {
+ minSdkVersion project.ext.minSdkVersion
+ targetSdkVersion project.ext.targetSdkVersion
+ }
+}
+
+dependencies {
+ compile project(':library-core')
+ compile 'com.android.support:support-annotations:25.2.0'
+ androidTestCompile 'com.google.dexmaker:dexmaker:1.2'
+ androidTestCompile 'com.google.dexmaker:dexmaker-mockito:1.2'
+ androidTestCompile 'org.mockito:mockito-core:1.9.5'
+}
+
+ext {
+ releaseArtifact = 'exoplayer-hls'
+ releaseDescription = 'The ExoPlayer library HLS module.'
+}
+apply from: '../../publish.gradle'
diff --git a/library/hls/src/androidTest/AndroidManifest.xml b/library/hls/src/androidTest/AndroidManifest.xml
new file mode 100644
index 0000000000..ac0857fc3f
--- /dev/null
+++ b/library/hls/src/androidTest/AndroidManifest.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/library/core/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
similarity index 100%
rename from library/core/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java
rename to library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylistParserTest.java
diff --git a/library/core/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylistParserTest.java b/library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylistParserTest.java
similarity index 100%
rename from library/core/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylistParserTest.java
rename to library/hls/src/androidTest/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylistParserTest.java
diff --git a/library/hls/src/main/AndroidManifest.xml b/library/hls/src/main/AndroidManifest.xml
new file mode 100644
index 0000000000..1ed28f4c7a
--- /dev/null
+++ b/library/hls/src/main/AndroidManifest.xml
@@ -0,0 +1,17 @@
+
+
+
+
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/Aes128DataSource.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/Aes128DataSource.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/Aes128DataSource.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/Aes128DataSource.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/DefaultHlsDataSourceFactory.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsChunkSource.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsChunkSource.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsChunkSource.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsChunkSource.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsDataSourceFactory.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsManifest.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsManifest.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsManifest.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsManifest.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaChunk.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaPeriod.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsMediaSource.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStream.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStream.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStream.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStream.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/HlsSampleStreamWrapper.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/TimestampAdjusterProvider.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/WebvttExtractor.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMasterPlaylist.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsMediaPlaylist.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylist.java
diff --git a/library/core/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
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistParser.java
diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.java b/library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.java
similarity index 100%
rename from library/core/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.java
rename to library/hls/src/main/java/com/google/android/exoplayer2/source/hls/playlist/HlsPlaylistTracker.java
diff --git a/playbacktests/build.gradle b/playbacktests/build.gradle
index cb82d0a466..fa3c930c4a 100644
--- a/playbacktests/build.gradle
+++ b/playbacktests/build.gradle
@@ -24,5 +24,6 @@ android {
}
dependencies {
- compile project(':library')
+ compile project(':library-core')
+ androidTestCompile project(':library-hls')
}
diff --git a/settings.gradle b/settings.gradle
index f76909864e..45e2a1a1f1 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -13,6 +13,7 @@
// limitations under the License.
include ':library'
include ':library-core'
+include ':library-hls'
include ':library-smoothstreaming'
include ':library-ui'
include ':testutils'
@@ -29,6 +30,7 @@ include ':extension-vp9'
project(':library').projectDir = new File(settingsDir, 'library/all')
project(':library-core').projectDir = new File(settingsDir, 'library/core')
+project(':library-hls').projectDir = new File(settingsDir, 'library/hls')
project(':library-smoothstreaming').projectDir = new File(settingsDir, 'library/smoothstreaming')
project(':library-ui').projectDir = new File(settingsDir, 'library/ui')
project(':extension-ffmpeg').projectDir = new File(settingsDir, 'extensions/ffmpeg')