diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspClient.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspClient.java index b1ad45c86e..a39ac6c138 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspClient.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspClient.java @@ -443,12 +443,15 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } public void onDescribeResponseReceived(RtspDescribeResponse response) { + @Nullable String sessionRangeAttributeString = - checkNotNull(response.sessionDescription.attributes.get(SessionDescription.ATTR_RANGE)); + response.sessionDescription.attributes.get(SessionDescription.ATTR_RANGE); try { sessionInfoListener.onSessionTimelineUpdated( - RtspSessionTiming.parseTiming(sessionRangeAttributeString), + sessionRangeAttributeString != null + ? RtspSessionTiming.parseTiming(sessionRangeAttributeString) + : RtspSessionTiming.DEFAULT, buildTrackList(response.sessionDescription, uri)); hasUpdatedTimelineAndTracks = true; } catch (ParserException e) { diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspSessionTiming.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspSessionTiming.java index 50a0f272c6..9005a53e0a 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspSessionTiming.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspSessionTiming.java @@ -31,7 +31,7 @@ import java.util.regex.Pattern; *
Currently only NPT is supported. See RFC2326 Section 3.6 for detail of NPT. */ public final class RtspSessionTiming { - /** The default session timing starting from 0.000 and indefinite length. */ + /** The default session timing starting from 0.000 and indefinite length, effectively live. */ public static final RtspSessionTiming DEFAULT = new RtspSessionTiming(/* startTimeMs= */ 0, /* stopTimeMs= */ C.TIME_UNSET);