@Override public void stop() { reset(); listenersHolder.getStateChangedListeners().onVideoStopped(); }
@Override public void onSurfaceReady(Either<Surface, SurfaceHolder> surface) { mediaPlayer.start(surface); listenersHolder.getStateChangedListeners().onVideoPlaying(); } });
@Override public void stop() { reset(); listenersHolder.getStateChangedListeners().onVideoStopped(); }
@Override public void play() throws IllegalStateException { heart.startBeatingHeart(); exoPlayer.play(); listenersHolder.getStateChangedListeners().onVideoPlaying(); }
@Override public void pause() throws IllegalStateException { mediaPlayer.pause(); if (heart.isBeating()) { heart.stopBeatingHeart(); heart.forceBeat(); } listenersHolder.getStateChangedListeners().onVideoPaused(); }
@Override public void pause() throws IllegalStateException { exoPlayer.pause(); listenersHolder.getStateChangedListeners().onVideoPaused(); if (heart.isBeating()) { heart.stopBeatingHeart(); heart.forceBeat(); } }
void initialise() { forwarder.bind(listenersHolder.getPreparedListeners(), this); forwarder.bind(listenersHolder.getBufferStateListeners(), listenersHolder.getErrorListeners()); forwarder.bind(listenersHolder.getCompletionListeners(), listenersHolder.getStateChangedListeners()); forwarder.bind(listenersHolder.getVideoSizeChangedListeners()); forwarder.bind(listenersHolder.getInfoListeners()); bufferHeartbeatCallback.bind(forwarder.onHeartbeatListener()); heart.bind(new Heart.Heartbeat(listenersHolder.getHeartbeatCallbacks(), this)); listenersHolder.addHeartbeatCallback(bufferHeartbeatCallback); listenersHolder.addPreparedListener(new PreparedListener() { @Override public void onPrepared(PlayerState playerState) { loadTimeout.cancel(); mediaPlayer.setOnSeekCompleteListener(seekToResettingSeekListener); } }); listenersHolder.addErrorListener(new ErrorListener() { @Override public void onError(PlayerError error) { reset(); } }); listenersHolder.addVideoSizeChangedListener(new VideoSizeChangedListener() { @Override public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { videoWidth = width; videoHeight = height; } }); }
void initialise() { heart.bind(new Heart.Heartbeat(listenersHolder.getHeartbeatCallbacks(), this)); forwarder.bind(listenersHolder.getPreparedListeners(), this); forwarder.bind(listenersHolder.getCompletionListeners(), listenersHolder.getStateChangedListeners()); forwarder.bind(listenersHolder.getErrorListeners()); forwarder.bind(listenersHolder.getBufferStateListeners()); forwarder.bind(listenersHolder.getVideoSizeChangedListeners()); forwarder.bind(listenersHolder.getBitrateChangedListeners()); forwarder.bind(listenersHolder.getInfoListeners()); forwarder.bind(listenersHolder.getDroppedVideoFramesListeners()); listenersHolder.addPreparedListener(new PreparedListener() { @Override public void onPrepared(PlayerState playerState) { loadTimeout.cancel(); } }); listenersHolder.addErrorListener(new ErrorListener() { @Override public void onError(PlayerError error) { reset(); } }); listenersHolder.addVideoSizeChangedListener(new VideoSizeChangedListener() { @Override public void onVideoSizeChanged(int width, int height, int unappliedRotationDegrees, float pixelWidthHeightRatio) { videoWidth = width; videoHeight = height; } }); }
given(listenersHolder.getVideoSizeChangedListeners()).willReturn(videoSizeChangedListener); given(listenersHolder.getInfoListeners()).willReturn(infoListener); given(listenersHolder.getStateChangedListeners()).willReturn(stateChangedListener);
@Before public void setUp() { given(playerView.getPlayerSurfaceHolder()).willReturn(playerSurfaceHolder); given(playerView.getStateChangedListener()).willReturn(stateChangeListener); given(playerView.getVideoSizeChangedListener()).willReturn(videoSizeChangedListener); given(playerView.getContainerView()).willReturn(containerView); given(listenersHolder.getErrorListeners()).willReturn(errorListener); given(listenersHolder.getPreparedListeners()).willReturn(preparedListener); given(listenersHolder.getBufferStateListeners()).willReturn(bufferStateListener); given(listenersHolder.getCompletionListeners()).willReturn(completionListener); given(listenersHolder.getStateChangedListeners()).willReturn(stateChangedListener); given(listenersHolder.getInfoListeners()).willReturn(infoListener); given(listenersHolder.getVideoSizeChangedListeners()).willReturn(videoSizeChangedListener); given(listenersHolder.getBitrateChangedListeners()).willReturn(bitrateChangedListener); player = new ExoPlayerTwoImpl( exoPlayerFacade, listenersHolder, forwarder, loadTimeout, heart, drmSessionCreator, mediaCodecSelector ); } }