Skip to content

Commit c193fe8

Browse files
VEX-7095: Crash in ReactExoplayerView.java Line 1059 (#31)
Prevent crashing when the track selector is null.
1 parent c584022 commit c193fe8

1 file changed

Lines changed: 8 additions & 3 deletions

File tree

android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -571,8 +571,8 @@ public void run() {
571571

572572
private void initializePlayerCore(ReactExoplayerView self) {
573573
ExoTrackSelection.Factory videoTrackSelectionFactory = new AdaptiveTrackSelection.Factory();
574-
trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
575-
trackSelector.setParameters(trackSelector.buildUponParameters()
574+
self.trackSelector = new DefaultTrackSelector(videoTrackSelectionFactory);
575+
self.trackSelector.setParameters(trackSelector.buildUponParameters()
576576
.setMaxVideoBitrate(maxBitRate == 0 ? Integer.MAX_VALUE : maxBitRate));
577577

578578
DefaultAllocator allocator = new DefaultAllocator(true, C.DEFAULT_BUFFER_SEGMENT_SIZE);
@@ -591,7 +591,7 @@ private void initializePlayerCore(ReactExoplayerView self) {
591591
new DefaultRenderersFactory(getContext())
592592
.setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_OFF);
593593
player = new SimpleExoPlayer.Builder(getContext(), renderersFactory)
594-
.setTrackSelector​(trackSelector)
594+
.setTrackSelector​(self.trackSelector)
595595
.setBandwidthMeter(bandwidthMeter)
596596
.setLoadControl(loadControl)
597597
.build();
@@ -1042,6 +1042,11 @@ public void run() {
10421042
private WritableArray getAudioTrackInfo() {
10431043
WritableArray audioTracks = Arguments.createArray();
10441044

1045+
if (trackSelector == null) {
1046+
// Likely player is unmounting so no audio tracks are available anymore
1047+
return audioTracks;
1048+
}
1049+
10451050
MappingTrackSelector.MappedTrackInfo info = trackSelector.getCurrentMappedTrackInfo();
10461051
int index = getTrackRendererIndex(C.TRACK_TYPE_AUDIO);
10471052
if (info == null || index == C.INDEX_UNSET) {

0 commit comments

Comments
 (0)