mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
DecodeOneFrameUtil: do not access release players
A player that is being released may report an error with null `player.getPlayerError()`. Do not try to read errors of players that are released. PiperOrigin-RevId: 690953083
This commit is contained in:
parent
dd6e88889a
commit
b0df3b2da3
@ -90,6 +90,9 @@ public final class DecodeOneFrameUtil {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {
|
public void onRenderedFirstFrame(EventTime eventTime, Object output, long renderTimeMs) {
|
||||||
|
if (exoPlayer.isReleased()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
listener.onFrameDecoded(
|
listener.onFrameDecoded(
|
||||||
createMediaFormatFromFormat(checkNotNull(exoPlayer.getVideoFormat())));
|
createMediaFormatFromFormat(checkNotNull(exoPlayer.getVideoFormat())));
|
||||||
firstFrameRenderedOrError.open();
|
firstFrameRenderedOrError.open();
|
||||||
@ -97,6 +100,9 @@ public final class DecodeOneFrameUtil {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onEvents(Player player, Events events) {
|
public void onEvents(Player player, Events events) {
|
||||||
|
if (exoPlayer.isReleased()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (events.contains(EVENT_PLAYER_ERROR)) {
|
if (events.contains(EVENT_PLAYER_ERROR)) {
|
||||||
playbackExceptionReference.set(checkNotNull(player.getPlayerError()));
|
playbackExceptionReference.set(checkNotNull(player.getPlayerError()));
|
||||||
firstFrameRenderedOrError.open();
|
firstFrameRenderedOrError.open();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user