Commit 172954de authored by sridhar's avatar sridhar
Browse files

Feature implementation: Failure Retry Count

Feature implementation: Failure Retry Count
parent 91e0206a
Loading
Loading
Loading
Loading
+1 −0
Changes for Video.js: 1 added line, 0 removed lines.
Original line number Diff line number Diff line
@@ -339,6 +339,7 @@ Video.propTypes = {
    // Opaque type returned by require('./video.mp4')
    PropTypes.number
  ]),
  failureRetryCount: PropTypes.number,
  maxBitRate: PropTypes.number,
  resizeMode: PropTypes.string,
  poster: PropTypes.string,
+14 −3
Changes for android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java: 14 added lines, 3 removed lines.
Original line number Diff line number Diff line
@@ -114,6 +114,7 @@ class ReactExoplayerView extends FrameLayout implements
    private boolean isBuffering;
    private float rate = 1f;
    private float audioVolume = 1f;
    private int failureRetryCount = 3;
    private int maxBitRate = 0;
    private long seekTime = C.TIME_UNSET;

@@ -310,12 +311,17 @@ class ReactExoplayerView extends FrameLayout implements
        switch (type) {
            case C.TYPE_SS:
                return new SsMediaSource(uri, buildDataSourceFactory(false),
                        new DefaultSsChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
                        new DefaultSsChunkSource.Factory(mediaDataSourceFactory), 
                        failureRetryCount, SsMediaSource.DEFAULT_LIVE_PRESENTATION_DELAY_MS, 
                        mainHandler, null);
            case C.TYPE_DASH:
                return new DashMediaSource(uri, buildDataSourceFactory(false),
                        new DefaultDashChunkSource.Factory(mediaDataSourceFactory), mainHandler, null);
                        new DefaultDashChunkSource.Factory(mediaDataSourceFactory), 
                        failureRetryCount, DashMediaSource.DEFAULT_LIVE_PRESENTATION_DELAY_MS,
                        mainHandler, null);
            case C.TYPE_HLS:
                return new HlsMediaSource(uri, mediaDataSourceFactory, mainHandler, null);
                return new HlsMediaSource(uri, mediaDataSourceFactory, 
                        failureRetryCount, mainHandler, null);
            case C.TYPE_OTHER:
                return new ExtractorMediaSource(uri, mediaDataSourceFactory, new DefaultExtractorsFactory(),
                        mainHandler, null);
@@ -998,6 +1004,11 @@ class ReactExoplayerView extends FrameLayout implements
        }
    }

    public void setfailureRetryCountModifier(int newFailureRetryCount) {
        failureRetryCount = newFailureRetryCount;
        releasePlayer();
        initializePlayer();
    }

    public void setPlayInBackground(boolean playInBackground) {
        this.playInBackground = playInBackground;
+6 −0
Changes for android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerViewManager.java: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
@@ -48,6 +48,7 @@ public class ReactExoplayerViewManager extends ViewGroupManager<ReactExoplayerVi
    private static final String PROP_REPORT_BANDWIDTH = "reportBandwidth";
    private static final String PROP_SEEK = "seek";
    private static final String PROP_RATE = "rate";
    private static final String PROP_FAILURE_RETRY_COUNT = "failureRetryCount";
    private static final String PROP_MAXIMUM_BIT_RATE = "maxBitRate";
    private static final String PROP_PLAY_IN_BACKGROUND = "playInBackground";
    private static final String PROP_DISABLE_FOCUS = "disableFocus";
@@ -230,6 +231,11 @@ public class ReactExoplayerViewManager extends ViewGroupManager<ReactExoplayerVi
        videoView.setMaxBitRateModifier(maxBitRate);
    }

    @ReactProp(name = PROP_FAILURE_RETRY_COUNT)
    public void failureRetryCount(final ReactExoplayerView videoView, final int failureRetryCount) {
        videoView.setfailureRetryCountModifier(failureRetryCount);
    }

    @ReactProp(name = PROP_PLAY_IN_BACKGROUND, defaultBoolean = false)
    public void setPlayInBackground(final ReactExoplayerView videoView, final boolean playInBackground) {
        videoView.setPlayInBackground(playInBackground);