Commit 489b16f1 authored by Hampton Maxwell's avatar Hampton Maxwell
Browse files

Base bufferedDuration on percentage & total duration. Add seekableDuration

parent 2c966fe7
Loading
Loading
Loading
Loading
+2 −1
Changes for android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -113,7 +113,8 @@ class ReactExoplayerView extends FrameLayout implements
                            && player.getPlayWhenReady()
                            ) {
                        long pos = player.getCurrentPosition();
                        eventEmitter.progressChanged(pos, player.getBufferedPosition());
                        long bufferedDuration = player.getBufferedPercentage() * player.getDuration();
                        eventEmitter.progressChanged(pos, bufferedDuration, player.getDuration());
                        msg = obtainMessage(SHOW_PROGRESS);
                        sendMessageDelayed(msg, Math.round(mProgressUpdateInterval));
                    }
+3 −1
Changes for android-exoplayer/src/main/java/com/brentvatne/exoplayer/VideoEventEmitter.java: 3 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -89,6 +89,7 @@ class VideoEventEmitter {

    private static final String EVENT_PROP_DURATION = "duration";
    private static final String EVENT_PROP_PLAYABLE_DURATION = "playableDuration";
    private static final String EVENT_PROP_SEEKABLE_DURATION = "seekableDuration";
    private static final String EVENT_PROP_CURRENT_TIME = "currentTime";
    private static final String EVENT_PROP_SEEK_TIME = "seekTime";
    private static final String EVENT_PROP_NATURAL_SIZE = "naturalSize";
@@ -141,10 +142,11 @@ class VideoEventEmitter {
        receiveEvent(EVENT_LOAD, event);
    }

    void progressChanged(double currentPosition, double bufferedDuration) {
    void progressChanged(double currentPosition, double bufferedDuration, double seekableDuration) {
        WritableMap event = Arguments.createMap();
        event.putDouble(EVENT_PROP_CURRENT_TIME, currentPosition / 1000D);
        event.putDouble(EVENT_PROP_PLAYABLE_DURATION, bufferedDuration / 1000D);
        event.putDouble(EVENT_PROP_SEEKABLE_DURATION, seekableDuration / 1000D);
        receiveEvent(EVENT_PROGRESS, event);
    }