Use C constants as event source ids.

The construction currently in SourceBuilder will be
moving inside of the core lib, so it can't refer to
DemoPlayer constants.
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=120822759
This commit is contained in:
olly 2016-04-26 09:52:52 -07:00 committed by Oliver Woodman
parent 845d250442
commit 784a18a188
3 changed files with 33 additions and 32 deletions

View File

@ -409,29 +409,32 @@ public class PlayerActivity extends Activity implements SurfaceHolder.Callback,
private void updateButtonVisibilities() { private void updateButtonVisibilities() {
retryButton.setVisibility(playerNeedsSource ? View.VISIBLE : View.GONE); retryButton.setVisibility(playerNeedsSource ? View.VISIBLE : View.GONE);
videoButton.setVisibility(haveTracks(DemoPlayer.TYPE_VIDEO) ? View.VISIBLE : View.GONE); videoButton.setVisibility(haveTracks(DemoPlayer.RENDERER_INDEX_VIDEO) ? View.VISIBLE
audioButton.setVisibility(haveTracks(DemoPlayer.TYPE_AUDIO) ? View.VISIBLE : View.GONE); : View.GONE);
textButton.setVisibility(haveTracks(DemoPlayer.TYPE_TEXT) ? View.VISIBLE : View.GONE); audioButton.setVisibility(haveTracks(DemoPlayer.RENDERER_INDEX_AUDIO) ? View.VISIBLE
: View.GONE);
textButton.setVisibility(haveTracks(DemoPlayer.RENDERER_INDEX_TEXT) ? View.VISIBLE
: View.GONE);
} }
private boolean haveTracks(int type) { private boolean haveTracks(int rendererIndex) {
TrackInfo trackInfo = player == null ? null : player.getTrackInfo(); TrackInfo trackInfo = player == null ? null : player.getTrackInfo();
return trackInfo != null && trackInfo.getTrackGroups(type).length != 0; return trackInfo != null && trackInfo.getTrackGroups(rendererIndex).length != 0;
} }
public void showVideoPopup(@SuppressWarnings("unused") View v) { public void showVideoPopup(@SuppressWarnings("unused") View v) {
trackSelectionHelper.showSelectionDialog(this, R.string.video, player.getTrackInfo(), trackSelectionHelper.showSelectionDialog(this, R.string.video, player.getTrackInfo(),
DemoPlayer.TYPE_VIDEO); DemoPlayer.RENDERER_INDEX_VIDEO);
} }
public void showAudioPopup(@SuppressWarnings("unused") View v) { public void showAudioPopup(@SuppressWarnings("unused") View v) {
trackSelectionHelper.showSelectionDialog(this, R.string.audio, player.getTrackInfo(), trackSelectionHelper.showSelectionDialog(this, R.string.audio, player.getTrackInfo(),
DemoPlayer.TYPE_AUDIO); DemoPlayer.RENDERER_INDEX_AUDIO);
} }
public void showTextPopup(@SuppressWarnings("unused") View v) { public void showTextPopup(@SuppressWarnings("unused") View v) {
trackSelectionHelper.showSelectionDialog(this, R.string.text, player.getTrackInfo(), trackSelectionHelper.showSelectionDialog(this, R.string.text, player.getTrackInfo(),
DemoPlayer.TYPE_TEXT); DemoPlayer.RENDERER_INDEX_TEXT);
} }
private void toggleControlsVisibility() { private void toggleControlsVisibility() {

View File

@ -15,6 +15,7 @@
*/ */
package com.google.android.exoplayer.demo.player; package com.google.android.exoplayer.demo.player;
import com.google.android.exoplayer.C;
import com.google.android.exoplayer.CodecCounters; import com.google.android.exoplayer.CodecCounters;
import com.google.android.exoplayer.DefaultTrackSelector; import com.google.android.exoplayer.DefaultTrackSelector;
import com.google.android.exoplayer.DefaultTrackSelector.TrackInfo; import com.google.android.exoplayer.DefaultTrackSelector.TrackInfo;
@ -133,10 +134,10 @@ public class DemoPlayer implements ExoPlayer.Listener, DefaultTrackSelector.Even
public static final int STATE_ENDED = ExoPlayer.STATE_ENDED; public static final int STATE_ENDED = ExoPlayer.STATE_ENDED;
public static final int RENDERER_COUNT = 4; public static final int RENDERER_COUNT = 4;
public static final int TYPE_VIDEO = 0; public static final int RENDERER_INDEX_VIDEO = 0;
public static final int TYPE_AUDIO = 1; public static final int RENDERER_INDEX_AUDIO = 1;
public static final int TYPE_TEXT = 2; public static final int RENDERER_INDEX_TEXT = 2;
public static final int TYPE_METADATA = 3; public static final int RENDERER_INDEX_METADATA = 3;
private final ExoPlayer player; private final ExoPlayer player;
private final DefaultTrackSelector trackSelector; private final DefaultTrackSelector trackSelector;
@ -336,10 +337,10 @@ public class DemoPlayer implements ExoPlayer.Listener, DefaultTrackSelector.Even
if (infoListener == null) { if (infoListener == null) {
return; return;
} }
if (sourceId == TYPE_VIDEO) { if (sourceId == C.TRACK_TYPE_VIDEO) {
videoFormat = format; videoFormat = format;
infoListener.onVideoFormatEnabled(format, trigger, mediaTimeMs); infoListener.onVideoFormatEnabled(format, trigger, mediaTimeMs);
} else if (sourceId == TYPE_AUDIO) { } else if (sourceId == C.TRACK_TYPE_AUDIO) {
infoListener.onAudioFormatEnabled(format, trigger, mediaTimeMs); infoListener.onAudioFormatEnabled(format, trigger, mediaTimeMs);
} }
} }

View File

@ -81,23 +81,21 @@ public class SourceBuilder {
ChunkSource videoChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_VIDEO, ChunkSource videoChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_VIDEO,
videoDataSource, new AdaptiveEvaluator(bandwidthMeter)); videoDataSource, new AdaptiveEvaluator(bandwidthMeter));
ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl, ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl,
VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_VIDEO); VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_VIDEO);
// Build the audio renderer. // Build the audio renderer.
DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
ChunkSource audioChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_AUDIO, ChunkSource audioChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_AUDIO,
audioDataSource, null); audioDataSource, null);
ChunkSampleSource audioSampleSource = new ChunkSampleSource(audioChunkSource, loadControl, ChunkSampleSource audioSampleSource = new ChunkSampleSource(audioChunkSource, loadControl,
AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_AUDIO);
DemoPlayer.TYPE_AUDIO);
// Build the text renderer. // Build the text renderer.
DataSource textDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource textDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
ChunkSource textChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_TEXT, ChunkSource textChunkSource = new DashChunkSource(manifestFetcher, C.TRACK_TYPE_TEXT,
textDataSource, null); textDataSource, null);
ChunkSampleSource textSampleSource = new ChunkSampleSource(textChunkSource, loadControl, ChunkSampleSource textSampleSource = new ChunkSampleSource(textChunkSource, loadControl,
TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_TEXT);
DemoPlayer.TYPE_TEXT);
return new MultiSampleSource(videoSampleSource, audioSampleSource, textSampleSource); return new MultiSampleSource(videoSampleSource, audioSampleSource, textSampleSource);
} }
@ -122,22 +120,21 @@ public class SourceBuilder {
ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher, ChunkSource videoChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
C.TRACK_TYPE_VIDEO, videoDataSource, new AdaptiveEvaluator(bandwidthMeter)); C.TRACK_TYPE_VIDEO, videoDataSource, new AdaptiveEvaluator(bandwidthMeter));
ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl, ChunkSampleSource videoSampleSource = new ChunkSampleSource(videoChunkSource, loadControl,
VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, VIDEO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_VIDEO);
DemoPlayer.TYPE_VIDEO);
// Build the audio renderer. // Build the audio renderer.
DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
ChunkSource audioChunkSource = new SmoothStreamingChunkSource(manifestFetcher, ChunkSource audioChunkSource = new SmoothStreamingChunkSource(manifestFetcher,
C.TRACK_TYPE_AUDIO, audioDataSource, null); C.TRACK_TYPE_AUDIO, audioDataSource, null);
ChunkSampleSource audioSampleSource = new ChunkSampleSource(audioChunkSource, loadControl, ChunkSampleSource audioSampleSource = new ChunkSampleSource(audioChunkSource, loadControl,
AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_AUDIO); AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_AUDIO);
// Build the text renderer. // Build the text renderer.
DataSource textDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource textDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
ChunkSource textChunkSource = new SmoothStreamingChunkSource(manifestFetcher, ChunkSource textChunkSource = new SmoothStreamingChunkSource(manifestFetcher, C.TRACK_TYPE_TEXT,
C.TRACK_TYPE_TEXT, textDataSource, null); textDataSource, null);
ChunkSampleSource textSampleSource = new ChunkSampleSource(textChunkSource, loadControl, ChunkSampleSource textSampleSource = new ChunkSampleSource(textChunkSource, loadControl,
TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_TEXT); TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_TEXT);
return new MultiSampleSource(videoSampleSource, audioSampleSource, textSampleSource); return new MultiSampleSource(videoSampleSource, audioSampleSource, textSampleSource);
} }
@ -156,23 +153,23 @@ public class SourceBuilder {
PtsTimestampAdjusterProvider timestampAdjusterProvider = new PtsTimestampAdjusterProvider(); PtsTimestampAdjusterProvider timestampAdjusterProvider = new PtsTimestampAdjusterProvider();
DataSource defaultDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource defaultDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
HlsChunkSource defaultChunkSource = new HlsChunkSource(manifestFetcher, HlsChunkSource defaultChunkSource = new HlsChunkSource(manifestFetcher, C.TRACK_TYPE_DEFAULT,
C.TRACK_TYPE_DEFAULT, defaultDataSource, timestampAdjusterProvider, defaultDataSource, timestampAdjusterProvider,
new FormatEvaluator.AdaptiveEvaluator(bandwidthMeter)); new FormatEvaluator.AdaptiveEvaluator(bandwidthMeter));
HlsSampleSource defaultSampleSource = new HlsSampleSource(defaultChunkSource, loadControl, HlsSampleSource defaultSampleSource = new HlsSampleSource(defaultChunkSource, loadControl,
MUXED_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_VIDEO); MUXED_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_VIDEO);
DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource audioDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
HlsChunkSource audioChunkSource = new HlsChunkSource(manifestFetcher, C.TRACK_TYPE_AUDIO, HlsChunkSource audioChunkSource = new HlsChunkSource(manifestFetcher, C.TRACK_TYPE_AUDIO,
audioDataSource, timestampAdjusterProvider, null); audioDataSource, timestampAdjusterProvider, null);
HlsSampleSource audioSampleSource = new HlsSampleSource(audioChunkSource, loadControl, HlsSampleSource audioSampleSource = new HlsSampleSource(audioChunkSource, loadControl,
AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_AUDIO); AUDIO_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_AUDIO);
DataSource subtitleDataSource = dataSourceFactory.createDataSource(bandwidthMeter); DataSource subtitleDataSource = dataSourceFactory.createDataSource(bandwidthMeter);
HlsChunkSource subtitleChunkSource = new HlsChunkSource(manifestFetcher, HlsChunkSource subtitleChunkSource = new HlsChunkSource(manifestFetcher, C.TRACK_TYPE_TEXT,
C.TRACK_TYPE_TEXT, subtitleDataSource, timestampAdjusterProvider, null); subtitleDataSource, timestampAdjusterProvider, null);
HlsSampleSource subtitleSampleSource = new HlsSampleSource(subtitleChunkSource, loadControl, HlsSampleSource subtitleSampleSource = new HlsSampleSource(subtitleChunkSource, loadControl,
TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, DemoPlayer.TYPE_TEXT); TEXT_BUFFER_SEGMENTS * BUFFER_SEGMENT_SIZE, mainHandler, player, C.TRACK_TYPE_TEXT);
return new MultiSampleSource(defaultSampleSource, audioSampleSource, subtitleSampleSource); return new MultiSampleSource(defaultSampleSource, audioSampleSource, subtitleSampleSource);
} }