mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Move build*DataSourceFactory methods to the DemoApplication class for easy customization.
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=134414869
This commit is contained in:
parent
4a62b2688c
commit
c82fd859be
3 changed files with 33 additions and 12 deletions
|
|
@ -39,14 +39,14 @@ android {
|
||||||
|
|
||||||
productFlavors {
|
productFlavors {
|
||||||
demo
|
demo
|
||||||
demo_ext
|
demoExt
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile project(':library')
|
compile project(':library')
|
||||||
demo_extCompile project(path: ':extension-ffmpeg')
|
demoExtCompile project(path: ':extension-ffmpeg')
|
||||||
demo_extCompile project(path: ':extension-flac')
|
demoExtCompile project(path: ':extension-flac')
|
||||||
demo_extCompile project(path: ':extension-opus')
|
demoExtCompile project(path: ':extension-opus')
|
||||||
demo_extCompile project(path: ':extension-vp9')
|
demoExtCompile project(path: ':extension-vp9')
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,33 @@
|
||||||
package com.google.android.exoplayer2.demo;
|
package com.google.android.exoplayer2.demo;
|
||||||
|
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
|
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
|
||||||
|
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
||||||
|
import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory;
|
||||||
|
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||||
|
import com.google.android.exoplayer2.util.Util;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Placeholder application to facilitate overriding Application methods for debugging and testing.
|
* Placeholder application to facilitate overriding Application methods for debugging and testing.
|
||||||
*/
|
*/
|
||||||
public class DemoApplication extends Application {
|
public class DemoApplication extends Application {
|
||||||
|
|
||||||
|
protected String userAgent;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate() {
|
||||||
|
super.onCreate();
|
||||||
|
userAgent = Util.getUserAgent(this, "ExoPlayerDemo");
|
||||||
|
}
|
||||||
|
|
||||||
|
DataSource.Factory buildDataSourceFactory(DefaultBandwidthMeter bandwidthMeter) {
|
||||||
|
return new DefaultDataSourceFactory(this, bandwidthMeter,
|
||||||
|
buildHttpDataSourceFactory(bandwidthMeter));
|
||||||
|
}
|
||||||
|
|
||||||
|
HttpDataSource.Factory buildHttpDataSourceFactory(DefaultBandwidthMeter bandwidthMeter) {
|
||||||
|
return new DefaultHttpDataSourceFactory(userAgent, bandwidthMeter);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -65,8 +65,6 @@ import com.google.android.exoplayer2.ui.PlaybackControlView;
|
||||||
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
|
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
|
||||||
import com.google.android.exoplayer2.upstream.DataSource;
|
import com.google.android.exoplayer2.upstream.DataSource;
|
||||||
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
|
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
|
||||||
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
|
|
||||||
import com.google.android.exoplayer2.upstream.DefaultHttpDataSourceFactory;
|
|
||||||
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||||
import com.google.android.exoplayer2.util.Util;
|
import com.google.android.exoplayer2.util.Util;
|
||||||
import java.net.CookieHandler;
|
import java.net.CookieHandler;
|
||||||
|
|
@ -109,7 +107,6 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
||||||
private TextView debugTextView;
|
private TextView debugTextView;
|
||||||
private Button retryButton;
|
private Button retryButton;
|
||||||
|
|
||||||
private String userAgent;
|
|
||||||
private DataSource.Factory mediaDataSourceFactory;
|
private DataSource.Factory mediaDataSourceFactory;
|
||||||
private SimpleExoPlayer player;
|
private SimpleExoPlayer player;
|
||||||
private MappingTrackSelector trackSelector;
|
private MappingTrackSelector trackSelector;
|
||||||
|
|
@ -128,7 +125,6 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
shouldAutoPlay = true;
|
shouldAutoPlay = true;
|
||||||
userAgent = Util.getUserAgent(this, "ExoPlayerDemo");
|
|
||||||
mediaDataSourceFactory = buildDataSourceFactory(true);
|
mediaDataSourceFactory = buildDataSourceFactory(true);
|
||||||
mainHandler = new Handler();
|
mainHandler = new Handler();
|
||||||
if (CookieHandler.getDefault() != DEFAULT_COOKIE_MANAGER) {
|
if (CookieHandler.getDefault() != DEFAULT_COOKIE_MANAGER) {
|
||||||
|
|
@ -378,8 +374,8 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
||||||
* @return A new DataSource factory.
|
* @return A new DataSource factory.
|
||||||
*/
|
*/
|
||||||
private DataSource.Factory buildDataSourceFactory(boolean useBandwidthMeter) {
|
private DataSource.Factory buildDataSourceFactory(boolean useBandwidthMeter) {
|
||||||
return new DefaultDataSourceFactory(this, useBandwidthMeter ? BANDWIDTH_METER : null,
|
return ((DemoApplication) getApplication())
|
||||||
buildHttpDataSourceFactory(useBandwidthMeter));
|
.buildDataSourceFactory(useBandwidthMeter ? BANDWIDTH_METER : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -390,7 +386,8 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
||||||
* @return A new HttpDataSource factory.
|
* @return A new HttpDataSource factory.
|
||||||
*/
|
*/
|
||||||
private HttpDataSource.Factory buildHttpDataSourceFactory(boolean useBandwidthMeter) {
|
private HttpDataSource.Factory buildHttpDataSourceFactory(boolean useBandwidthMeter) {
|
||||||
return new DefaultHttpDataSourceFactory(userAgent, useBandwidthMeter ? BANDWIDTH_METER : null);
|
return ((DemoApplication) getApplication())
|
||||||
|
.buildHttpDataSourceFactory(useBandwidthMeter ? BANDWIDTH_METER : null);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ExoPlayer.EventListener implementation
|
// ExoPlayer.EventListener implementation
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue