From 1fe8e0706896dd71c68ed7003e2df949a35a965b Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 21 Jan 2022 11:34:17 +0000 Subject: [PATCH] Ignore invalid RTP-Info header value. Issue: google/ExoPlayer#9619 (and a few other GH issues related to invalid RTP-Info header) PiperOrigin-RevId: 423283017 --- .../media3/exoplayer/rtsp/RtspClient.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java index ea81401e3a..60109565a5 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java @@ -619,11 +619,18 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; startTimingString == null ? RtspSessionTiming.DEFAULT : RtspSessionTiming.parseTiming(startTimingString); - @Nullable String rtpInfoString = response.headers.get(RtspHeaders.RTP_INFO); - ImmutableList trackTimingList = - rtpInfoString == null - ? ImmutableList.of() - : RtspTrackTiming.parseTrackTiming(rtpInfoString, uri); + + ImmutableList trackTimingList; + try { + @Nullable String rtpInfoString = response.headers.get(RtspHeaders.RTP_INFO); + trackTimingList = + rtpInfoString == null + ? ImmutableList.of() + : RtspTrackTiming.parseTrackTiming(rtpInfoString, uri); + } catch (ParserException e) { + trackTimingList = ImmutableList.of(); + } + onPlayResponseReceived(new RtspPlayResponse(response.status, timing, trackTimingList)); break;