Commit 6caa3e79 by tonihei Committed by Oliver Woodman

Demo app repeatedly shows "audio/video not playable" toast

Solved by adding saving reference to previous TrackGroup. Toast only displayed
after TrackGroup changed.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=152242954
parent 9bbc6d10
...@@ -113,6 +113,7 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay ...@@ -113,6 +113,7 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
private TrackSelectionHelper trackSelectionHelper; private TrackSelectionHelper trackSelectionHelper;
private DebugTextViewHelper debugViewHelper; private DebugTextViewHelper debugViewHelper;
private boolean needRetrySource; private boolean needRetrySource;
private TrackGroupArray lastSeenTrackGroupArray;
private boolean shouldAutoPlay; private boolean shouldAutoPlay;
private int resumeWindow; private int resumeWindow;
...@@ -261,6 +262,7 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay ...@@ -261,6 +262,7 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
new AdaptiveTrackSelection.Factory(BANDWIDTH_METER); new AdaptiveTrackSelection.Factory(BANDWIDTH_METER);
trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory); trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
trackSelectionHelper = new TrackSelectionHelper(trackSelector, videoTrackSelectionFactory); trackSelectionHelper = new TrackSelectionHelper(trackSelector, videoTrackSelectionFactory);
lastSeenTrackGroupArray = null;
player = ExoPlayerFactory.newSimpleInstance(this, trackSelector, new DefaultLoadControl(), player = ExoPlayerFactory.newSimpleInstance(this, trackSelector, new DefaultLoadControl(),
drmSessionManager, extensionRendererMode); drmSessionManager, extensionRendererMode);
player.addListener(this); player.addListener(this);
...@@ -479,18 +481,22 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay ...@@ -479,18 +481,22 @@ public class PlayerActivity extends Activity implements OnClickListener, ExoPlay
} }
@Override @Override
@SuppressWarnings("ReferenceEquality")
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) { public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
updateButtonVisibilities(); updateButtonVisibilities();
MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo(); if (trackGroups != lastSeenTrackGroupArray) {
if (mappedTrackInfo != null) { MappedTrackInfo mappedTrackInfo = trackSelector.getCurrentMappedTrackInfo();
if (mappedTrackInfo.getTrackTypeRendererSupport(C.TRACK_TYPE_VIDEO) if (mappedTrackInfo != null) {
== MappedTrackInfo.RENDERER_SUPPORT_UNSUPPORTED_TRACKS) { if (mappedTrackInfo.getTrackTypeRendererSupport(C.TRACK_TYPE_VIDEO)
showToast(R.string.error_unsupported_video); == MappedTrackInfo.RENDERER_SUPPORT_UNSUPPORTED_TRACKS) {
} showToast(R.string.error_unsupported_video);
if (mappedTrackInfo.getTrackTypeRendererSupport(C.TRACK_TYPE_AUDIO) }
== MappedTrackInfo.RENDERER_SUPPORT_UNSUPPORTED_TRACKS) { if (mappedTrackInfo.getTrackTypeRendererSupport(C.TRACK_TYPE_AUDIO)
showToast(R.string.error_unsupported_audio); == MappedTrackInfo.RENDERER_SUPPORT_UNSUPPORTED_TRACKS) {
showToast(R.string.error_unsupported_audio);
}
} }
lastSeenTrackGroupArray = trackGroups;
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment