Split SmoothStreaming into a separate module

Issue: #2139

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=150634794
This commit is contained in:
olly 2017-03-20 09:33:02 -07:00 committed by Oliver Woodman
parent 58ac572024
commit a9aca8dbf0
15 changed files with 105 additions and 11 deletions

View File

@ -28,6 +28,7 @@ android {
dependencies {
compile project(':library-core')
compile project(':library-ui')
compile project(':library-smoothstreaming')
}
android.libraryVariants.all { variant ->

View File

@ -23,9 +23,6 @@ import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.source.MergingMediaSource;
import com.google.android.exoplayer2.source.SingleSampleMediaSource;
import com.google.android.exoplayer2.source.TrackGroupArray;
import com.google.android.exoplayer2.source.dash.DashMediaSource;
import com.google.android.exoplayer2.source.hls.HlsMediaSource;
import com.google.android.exoplayer2.source.smoothstreaming.SsMediaSource;
import com.google.android.exoplayer2.text.TextRenderer;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelectionArray;
@ -47,12 +44,11 @@ import com.google.android.exoplayer2.video.MediaCodecVideoRenderer;
* <ul>
* <li>A <b>{@link MediaSource}</b> that defines the media to be played, loads the media, and from
* which the loaded media can be read. A MediaSource is injected via {@link #prepare} at the start
* of playback. The library provides default implementations for regular media files
* ({@link ExtractorMediaSource}), DASH ({@link DashMediaSource}), SmoothStreaming
* ({@link SsMediaSource}) and HLS ({@link HlsMediaSource}), implementations for merging
* ({@link MergingMediaSource}) and concatenating ({@link ConcatenatingMediaSource}) other
* MediaSources, and an implementation for loading single samples
* ({@link SingleSampleMediaSource}) most often used for side-loaded subtitle and closed
* of playback. The library modules provide default implementations for regular media files
* ({@link ExtractorMediaSource}), DASH (DashMediaSource), SmoothStreaming (SsMediaSource) and HLS
* (HlsMediaSource), implementations for merging ({@link MergingMediaSource}) and concatenating
* ({@link ConcatenatingMediaSource}) other MediaSources, and an implementation for loading single
* samples ({@link SingleSampleMediaSource}) most often used for side-loaded subtitle and closed
* caption files.</li>
* <li><b>{@link Renderer}</b>s that render individual components of the media. The library
* provides default implementations for common media types ({@link MediaCodecVideoRenderer},

View File

@ -0,0 +1,44 @@
// 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
}
sourceSets {
androidTest {
java.srcDirs += "../../testutils/src/main/java/"
}
}
}
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-smoothstreaming'
releaseDescription = 'The ExoPlayer library SmoothStreaming module.'
}
apply from: '../../publish.gradle'

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.google.android.exoplayer2.source.smoothstreaming.test">
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="24"/>
<application android:debuggable="true"
android:allowBackup="false"
tools:ignore="MissingApplicationIcon,HardcodedDebugMode">
<uses-library android:name="android.test.runner"/>
</application>
<instrumentation
android:targetPackage="com.google.android.exoplayer2.source.smoothstreaming.test"
android:name="android.test.InstrumentationTestRunner"
tools:replace="android:targetPackage"/>
</manifest>

View File

@ -25,8 +25,8 @@ import java.io.IOException;
*/
public final class SsManifestParserTest extends InstrumentationTestCase {
private static final String SAMPLE_ISMC_1 = "smoothstreaming/sample_ismc_1";
private static final String SAMPLE_ISMC_2 = "smoothstreaming/sample_ismc_2";
private static final String SAMPLE_ISMC_1 = "sample_ismc_1";
private static final String SAMPLE_ISMC_2 = "sample_ismc_2";
/**
* Simple test to ensure the sample manifests parse without any exceptions being thrown.

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- 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.
-->
<manifest package="com.google.android.exoplayer2.source.smoothstreaming"/>

View File

@ -13,6 +13,7 @@
// limitations under the License.
include ':library'
include ':library-core'
include ':library-smoothstreaming'
include ':library-ui'
include ':testutils'
include ':demo'
@ -28,6 +29,7 @@ include ':extension-vp9'
project(':library').projectDir = new File(settingsDir, 'library/all')
project(':library-core').projectDir = new File(settingsDir, 'library/core')
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')
project(':extension-flac').projectDir = new File(settingsDir, 'extensions/flac')