Unverified Commit 46701448 authored by Hampton Maxwell's avatar Hampton Maxwell Committed by GitHub
Browse files

Only select timed metadata tracks

parent 0a12f738
Loading
Loading
Loading
Loading
+18 −11
Changes for android/src/main/java/com/brentvatne/react/ReactVideoView.java: 18 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -571,11 +571,7 @@ public class ReactVideoView extends ScalableVideoView implements
            });
        }

        // Select track (so we can use it to listen to timed meta data updates)
        try{
            mp.selectTrack(0);
        }catch (Throwable t){
        }
        selectTimedMetadataTrack(mp);
    }

    @Override
@@ -610,12 +606,7 @@ public class ReactVideoView extends ScalableVideoView implements

    @Override
    public void onBufferingUpdate(MediaPlayer mp, int percent) {
        // Select track (so we can use it to listen to timed meta data updates)
        try{
            mp.selectTrack(0);
        }catch (Throwable t){
        }

        selectTimedMetadataTrack(mp);
        mVideoBufferedDuration = (int) Math.round((double) (mVideoDuration * percent) / 100.0);
    }

@@ -768,4 +759,20 @@ public class ReactVideoView extends ScalableVideoView implements

        return result;
    }
        
    // Select track (so we can use it to listen to timed meta data updates)
    private void selectTimedMetadataTrack(MediaPlayer mp) {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
            return;
        }
        try {
            MediaPlayer.TrackInfo[] trackInfo = mp.getTrackInfo();
            for (int i = 0; i < trackInfo.length; ++i) {
                if (trackInfo[i].getTrackType() == MediaPlayer.TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT) {
                    mp.selectTrack(i);
                    break;
                }
            }
        } catch (Exception e) {}
    }
}