From 270e274ef3f6cb17e1f11893cbc9faeffab96d6f Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 26 Oct 2020 12:05:09 +0000 Subject: [PATCH] Treat -1000 duration as unknown duration for live streams in Cast Issue: #7983 #minor-release PiperOrigin-RevId: 339016928 --- .../com/google/android/exoplayer2/ext/cast/CastUtils.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastUtils.java b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastUtils.java index 182afb0468..4f3f52a5f9 100644 --- a/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastUtils.java +++ b/extensions/cast/src/main/java/com/google/android/exoplayer2/ext/cast/CastUtils.java @@ -27,6 +27,10 @@ import com.google.android.gms.cast.MediaTrack; */ /* package */ final class CastUtils { + /** The duration returned by {@link MediaInfo#getStreamDuration()} for live streams. */ + // TODO: Remove once [Internal ref: b/171657375] is fixed. + private static final long LIVE_STREAM_DURATION = -1000; + /** * Returns the duration in microseconds advertised by a media info, or {@link C#TIME_UNSET} if * unknown or not applicable. @@ -39,7 +43,9 @@ import com.google.android.gms.cast.MediaTrack; return C.TIME_UNSET; } long durationMs = mediaInfo.getStreamDuration(); - return durationMs != MediaInfo.UNKNOWN_DURATION ? C.msToUs(durationMs) : C.TIME_UNSET; + return durationMs != MediaInfo.UNKNOWN_DURATION && durationMs != LIVE_STREAM_DURATION + ? C.msToUs(durationMs) + : C.TIME_UNSET; } /**