mirror of
https://github.com/samsonjs/media.git
synced 2026-04-01 10:35:48 +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 {
|
||||
demo
|
||||
demo_ext
|
||||
demoExt
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile project(':library')
|
||||
demo_extCompile project(path: ':extension-ffmpeg')
|
||||
demo_extCompile project(path: ':extension-flac')
|
||||
demo_extCompile project(path: ':extension-opus')
|
||||
demo_extCompile project(path: ':extension-vp9')
|
||||
demoExtCompile project(path: ':extension-ffmpeg')
|
||||
demoExtCompile project(path: ':extension-flac')
|
||||
demoExtCompile project(path: ':extension-opus')
|
||||
demoExtCompile project(path: ':extension-vp9')
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,9 +16,33 @@
|
|||
package com.google.android.exoplayer2.demo;
|
||||
|
||||
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.
|
||||
*/
|
||||
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.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;
|
||||
import java.net.CookieHandler;
|
||||
|
|
@ -109,7 +107,6 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
|||
private TextView debugTextView;
|
||||
private Button retryButton;
|
||||
|
||||
private String userAgent;
|
||||
private DataSource.Factory mediaDataSourceFactory;
|
||||
private SimpleExoPlayer player;
|
||||
private MappingTrackSelector trackSelector;
|
||||
|
|
@ -128,7 +125,6 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
|||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
shouldAutoPlay = true;
|
||||
userAgent = Util.getUserAgent(this, "ExoPlayerDemo");
|
||||
mediaDataSourceFactory = buildDataSourceFactory(true);
|
||||
mainHandler = new Handler();
|
||||
if (CookieHandler.getDefault() != DEFAULT_COOKIE_MANAGER) {
|
||||
|
|
@ -378,8 +374,8 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
|||
* @return A new DataSource factory.
|
||||
*/
|
||||
private DataSource.Factory buildDataSourceFactory(boolean useBandwidthMeter) {
|
||||
return new DefaultDataSourceFactory(this, useBandwidthMeter ? BANDWIDTH_METER : null,
|
||||
buildHttpDataSourceFactory(useBandwidthMeter));
|
||||
return ((DemoApplication) getApplication())
|
||||
.buildDataSourceFactory(useBandwidthMeter ? BANDWIDTH_METER : null);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -390,7 +386,8 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
|
|||
* @return A new HttpDataSource factory.
|
||||
*/
|
||||
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
|
||||
|
|
|
|||
Loading…
Reference in a new issue