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;
}
});
}