Saving current subtitle cues on SimpleExoPlayer

This commit is contained in:
Pedro Machado 2018-05-14 15:34:06 +01:00 committed by Pedro Machado
parent 9adf9542e1
commit edd237e196

View File

@ -92,6 +92,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
private AudioAttributes audioAttributes; private AudioAttributes audioAttributes;
private float audioVolume; private float audioVolume;
private MediaSource mediaSource; private MediaSource mediaSource;
private List<Cue> currentCues;
/** /**
* @param renderersFactory A factory for creating {@link Renderer}s to be used by the instance. * @param renderersFactory A factory for creating {@link Renderer}s to be used by the instance.
@ -502,6 +503,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
@Override @Override
public void addTextOutput(TextOutput listener) { public void addTextOutput(TextOutput listener) {
listener.onCues(currentCues);
textOutputs.add(listener); textOutputs.add(listener);
} }
@ -775,6 +777,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
mediaSource = null; mediaSource = null;
analyticsCollector.resetForNewMediaSource(); analyticsCollector.resetForNewMediaSource();
} }
currentCues = null;
} }
@Override @Override
@ -790,6 +793,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
if (mediaSource != null) { if (mediaSource != null) {
mediaSource.removeEventListener(analyticsCollector); mediaSource.removeEventListener(analyticsCollector);
} }
currentCues = null;
} }
@Override @Override
@ -1095,6 +1099,7 @@ public class SimpleExoPlayer implements ExoPlayer, Player.VideoComponent, Player
@Override @Override
public void onCues(List<Cue> cues) { public void onCues(List<Cue> cues) {
currentCues = cues;
for (TextOutput textOutput : textOutputs) { for (TextOutput textOutput : textOutputs) {
textOutput.onCues(cues); textOutput.onCues(cues);
} }