mirror of
https://github.com/androidx/media.git
synced 2025-05-05 06:30:24 +08:00
Prevent NPE in ImaAdsLoader onPositionDiscontinuity.
Any seek before the first timeline becomes available will result in a NPE. Change it to handle that case gracefully. Issue:#5831 PiperOrigin-RevId: 264603061
This commit is contained in:
parent
5b2b21da86
commit
9e3bee89e1
@ -484,6 +484,7 @@ public final class ImaAdsLoader
|
|||||||
pendingContentPositionMs = C.TIME_UNSET;
|
pendingContentPositionMs = C.TIME_UNSET;
|
||||||
adGroupIndex = C.INDEX_UNSET;
|
adGroupIndex = C.INDEX_UNSET;
|
||||||
contentDurationMs = C.TIME_UNSET;
|
contentDurationMs = C.TIME_UNSET;
|
||||||
|
timeline = Timeline.EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -967,7 +968,7 @@ public final class ImaAdsLoader
|
|||||||
if (contentDurationUs != C.TIME_UNSET) {
|
if (contentDurationUs != C.TIME_UNSET) {
|
||||||
adPlaybackState = adPlaybackState.withContentDurationUs(contentDurationUs);
|
adPlaybackState = adPlaybackState.withContentDurationUs(contentDurationUs);
|
||||||
}
|
}
|
||||||
updateImaStateForPlayerState();
|
onPositionDiscontinuity(Player.DISCONTINUITY_REASON_INTERNAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1022,7 +1023,7 @@ public final class ImaAdsLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
updateAdPlaybackState();
|
updateAdPlaybackState();
|
||||||
} else {
|
} else if (!timeline.isEmpty()) {
|
||||||
long positionMs = player.getCurrentPosition();
|
long positionMs = player.getCurrentPosition();
|
||||||
timeline.getPeriod(0, period);
|
timeline.getPeriod(0, period);
|
||||||
int newAdGroupIndex = period.getAdGroupIndexForPositionUs(C.msToUs(positionMs));
|
int newAdGroupIndex = period.getAdGroupIndexForPositionUs(C.msToUs(positionMs));
|
||||||
@ -1034,9 +1035,8 @@ public final class ImaAdsLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
updateImaStateForPlayerState();
|
|
||||||
}
|
}
|
||||||
|
updateImaStateForPlayerState();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Internal methods.
|
// Internal methods.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user