com.google.android.exoplayer.chunk.MultiTrackChunkSource Java Examples
The following examples show how to use
com.google.android.exoplayer.chunk.MultiTrackChunkSource.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: VideoPlayer.java From iview-android-tv with MIT License | 6 votes |
private void pushTrackSelection(int type, boolean allowRendererEnable) { if (multiTrackSources == null) { return; } int trackIndex = selectedTracks[type]; if (trackIndex == DISABLED_TRACK) { player.setRendererEnabled(type, false); } else if (multiTrackSources[type] == null) { player.setRendererEnabled(type, allowRendererEnable); } else { boolean playWhenReady = player.getPlayWhenReady(); player.setPlayWhenReady(false); player.setRendererEnabled(type, false); player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK, trackIndex); player.setRendererEnabled(type, allowRendererEnable); player.setPlayWhenReady(playWhenReady); } }
Example #2
Source File: DemoPlayer.java From Exoplayer_VLC with Apache License 2.0 | 6 votes |
private void pushTrackSelection(int type, boolean allowRendererEnable) { if (rendererBuildingState != RENDERER_BUILDING_STATE_BUILT) { return; } int trackIndex = selectedTracks[type]; if (trackIndex == DISABLED_TRACK) { player.setRendererEnabled(type, false); } else if (multiTrackSources[type] == null) { player.setRendererEnabled(type, allowRendererEnable); } else { boolean playWhenReady = player.getPlayWhenReady(); player.setPlayWhenReady(false); player.setRendererEnabled(type, false); player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK, trackIndex); player.setRendererEnabled(type, allowRendererEnable); player.setPlayWhenReady(playWhenReady); } }
Example #3
Source File: DemoPlayer.java From Mobilyzer with Apache License 2.0 | 6 votes |
private void pushTrackSelection(int type, boolean allowRendererEnable) { if (rendererBuildingState != RENDERER_BUILDING_STATE_BUILT) { return; } int trackIndex = selectedTracks[type]; if (trackIndex == DISABLED_TRACK) { player.setRendererEnabled(type, false); } else if (multiTrackSources[type] == null) { player.setRendererEnabled(type, allowRendererEnable); } else { boolean playWhenReady = player.getPlayWhenReady(); player.setPlayWhenReady(false); player.setRendererEnabled(type, false); player.sendMessage(multiTrackSources[type], MultiTrackChunkSource.MSG_SELECT_TRACK, trackIndex); player.setRendererEnabled(type, allowRendererEnable); player.setPlayWhenReady(playWhenReady); } }
Example #4
Source File: VideoPlayer.java From iview-android-tv with MIT License | 5 votes |
/** * Invoked with the results from a {@link RendererBuilder}. * * @param trackNames The names of the available tracks, indexed by {@link VideoPlayer} TYPE_* * constants. May be null if the track names are unknown. An individual element may be null * if the track names are unknown for the corresponding type. * @param multiTrackSources Sources capable of switching between multiple available tracks, * indexed by {@link VideoPlayer} TYPE_* constants. May be null if there are no types with * multiple tracks. An individual element may be null if it does not have multiple tracks. * @param renderers Renderers indexed by {@link VideoPlayer} TYPE_* constants. An individual * element may be null if there do not exist tracks of the corresponding type. * @param bandwidthMeter Provides an estimate of the currently available bandwidth. May be null. */ /* package */ void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers, BandwidthMeter bandwidthMeter) { // Normalize the results. if (trackNames == null) { trackNames = new String[RENDERER_COUNT][]; } if (multiTrackSources == null) { multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT]; } for (int rendererIndex = 0; rendererIndex < RENDERER_COUNT; rendererIndex++) { if (renderers[rendererIndex] == null) { // Convert a null renderer to a dummy renderer. renderers[rendererIndex] = new DummyTrackRenderer(); } if (trackNames[rendererIndex] == null) { // Convert a null trackNames to an array of suitable length. int trackCount = multiTrackSources[rendererIndex] != null ? multiTrackSources[rendererIndex].getTrackCount() : 1; trackNames[rendererIndex] = new String[trackCount]; } } // Complete preparation. this.trackNames = trackNames; this.videoRenderer = renderers[TYPE_VIDEO]; this.codecCounters = videoRenderer instanceof MediaCodecTrackRenderer ? ((MediaCodecTrackRenderer) videoRenderer).codecCounters : renderers[TYPE_AUDIO] instanceof MediaCodecTrackRenderer ? ((MediaCodecTrackRenderer) renderers[TYPE_AUDIO]).codecCounters : null; this.multiTrackSources = multiTrackSources; this.bandwidthMeter = bandwidthMeter; pushSurface(false); pushTrackSelection(TYPE_VIDEO, true); pushTrackSelection(TYPE_AUDIO, true); pushTrackSelection(TYPE_TEXT, true); player.prepare(renderers); rendererBuildingState = RENDERER_BUILDING_STATE_BUILT; }
Example #5
Source File: DemoPlayer.java From Exoplayer_VLC with Apache License 2.0 | 5 votes |
void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) { builderCallback = null; // Normalize the results. if (trackNames == null) { trackNames = new String[RENDERER_COUNT][]; } if (multiTrackSources == null) { multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT]; } for (int i = 0; i < RENDERER_COUNT; i++) { if (renderers[i] == null) { // Convert a null renderer to a dummy renderer. renderers[i] = new DummyTrackRenderer(); } else if (trackNames[i] == null) { // We have a renderer so we must have at least one track, but the names are unknown. // Initialize the correct number of null track names. int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount(); trackNames[i] = new String[trackCount]; } } // Complete preparation. this.videoRenderer = renderers[TYPE_VIDEO]; this.trackNames = trackNames; this.multiTrackSources = multiTrackSources; rendererBuildingState = RENDERER_BUILDING_STATE_BUILT; pushSurface(false); pushTrackSelection(TYPE_VIDEO, true); pushTrackSelection(TYPE_AUDIO, true); pushTrackSelection(TYPE_TEXT, true); player.prepare(renderers); }
Example #6
Source File: DemoPlayer.java From Exoplayer_VLC with Apache License 2.0 | 5 votes |
@Override public void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) { if (!canceled) { DemoPlayer.this.onRenderers(trackNames, multiTrackSources, renderers); } }
Example #7
Source File: DemoPlayer.java From Mobilyzer with Apache License 2.0 | 5 votes |
void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) { builderCallback = null; // Normalize the results. if (trackNames == null) { trackNames = new String[RENDERER_COUNT][]; } if (multiTrackSources == null) { multiTrackSources = new MultiTrackChunkSource[RENDERER_COUNT]; } for (int i = 0; i < RENDERER_COUNT; i++) { if (renderers[i] == null) { // Convert a null renderer to a dummy renderer. renderers[i] = new DummyTrackRenderer(); } else if (trackNames[i] == null) { // We have a renderer so we must have at least one track, but the names are unknown. // Initialize the correct number of null track names. int trackCount = multiTrackSources[i] == null ? 1 : multiTrackSources[i].getTrackCount(); trackNames[i] = new String[trackCount]; } } // Complete preparation. this.videoRenderer = renderers[TYPE_VIDEO]; this.trackNames = trackNames; this.multiTrackSources = multiTrackSources; rendererBuildingState = RENDERER_BUILDING_STATE_BUILT; maybeReportPlayerState(); pushSurfaceAndVideoTrack(false); pushTrackSelection(TYPE_AUDIO, true); pushTrackSelection(TYPE_TEXT, true); player.prepare(renderers); // silent the player player.sendMessage(renderers[TYPE_AUDIO], MediaCodecAudioTrackRenderer.MSG_SET_VOLUME, (float) 0.0); }
Example #8
Source File: DemoPlayer.java From Mobilyzer with Apache License 2.0 | 5 votes |
@Override public void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers) { if (!canceled) { DemoPlayer.this.onRenderers(trackNames, multiTrackSources, renderers); } }
Example #9
Source File: DemoPlayer.java From Exoplayer_VLC with Apache License 2.0 | 2 votes |
/** * Invoked with the results from a {@link RendererBuilder}. * * @param trackNames The names of the available tracks, indexed by {@link DemoPlayer} TYPE_* * constants. May be null if the track names are unknown. An individual element may be null * if the track names are unknown for the corresponding type. * @param multiTrackSources Sources capable of switching between multiple available tracks, * indexed by {@link DemoPlayer} TYPE_* constants. May be null if there are no types with * multiple tracks. An individual element may be null if it does not have multiple tracks. * @param renderers Renderers indexed by {@link DemoPlayer} TYPE_* constants. An individual * element may be null if there do not exist tracks of the corresponding type. */ void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers);
Example #10
Source File: DemoPlayer.java From Mobilyzer with Apache License 2.0 | 2 votes |
/** * Invoked with the results from a {@link RendererBuilder}. * * @param trackNames The names of the available tracks, indexed by {@link DemoPlayer} TYPE_* * constants. May be null if the track names are unknown. An individual element may be null * if the track names are unknown for the corresponding type. * @param multiTrackSources Sources capable of switching between multiple available tracks, * indexed by {@link DemoPlayer} TYPE_* constants. May be null if there are no types with * multiple tracks. An individual element may be null if it does not have multiple tracks. * @param renderers Renderers indexed by {@link DemoPlayer} TYPE_* constants. An individual * element may be null if there do not exist tracks of the corresponding type. */ void onRenderers(String[][] trackNames, MultiTrackChunkSource[] multiTrackSources, TrackRenderer[] renderers);