From 0830c06cd7e72695543978484446180512fad842 Mon Sep 17 00:00:00 2001 From: Sebastian Roth Date: Tue, 2 Nov 2021 14:58:15 +0000 Subject: [PATCH] PR feedback --- .../exoplayer2/source/rtsp/RtspClient.java | 11 ++++----- .../source/rtsp/RtspMediaPeriod.java | 10 ++++---- .../source/rtsp/RtspMediaSource.java | 23 ++++++++---------- .../source/rtsp/RtspClientTest.java | 24 +++++++++---------- .../source/rtsp/RtspMediaPeriodTest.java | 5 ++-- .../source/rtsp/RtspPlaybackTest.java | 5 ++-- 6 files changed, 38 insertions(+), 40 deletions(-) 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 c1b982634a..e4f94403e6 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 @@ -123,8 +123,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private final SessionInfoListener sessionInfoListener; private final PlaybackEventListener playbackEventListener; private final String userAgent; + private final SocketFactory socketFactory; private final boolean debugLoggingEnabled; - @Nullable private final SocketFactory socketFactory; private final ArrayDeque pendingSetupRtpLoadInfos; // TODO(b/172331505) Add a timeout monitor for pending requests. private final SparseArray pendingRequests; @@ -156,14 +156,16 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * @param playbackEventListener The {@link PlaybackEventListener}. * @param userAgent The user agent. * @param uri The RTSP playback URI. + * @param socketFactory The {@link SocketFactory} for the client connection. + * @param debugLoggingEnabled Whether to print RTSP messages. */ public RtspClient( SessionInfoListener sessionInfoListener, PlaybackEventListener playbackEventListener, String userAgent, Uri uri, - boolean debugLoggingEnabled, - @Nullable SocketFactory socketFactory) { + SocketFactory socketFactory, + boolean debugLoggingEnabled) { this.sessionInfoListener = sessionInfoListener; this.playbackEventListener = playbackEventListener; this.userAgent = userAgent; @@ -293,9 +295,6 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; checkArgument(uri.getHost() != null); int rtspPort = uri.getPort() > 0 ? uri.getPort() : DEFAULT_RTSP_PORT; - SocketFactory socketFactory = - this.socketFactory != null ? this.socketFactory : SocketFactory.getDefault(); - return socketFactory.createSocket(checkNotNull(uri.getHost()), rtspPort); } diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java index 8d0347138b..cea3c4e85d 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriod.java @@ -103,7 +103,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * @param listener A {@link Listener} to receive session information updates. * @param userAgent The user agent. * @param debugLoggingEnabled Whether to log RTSP messages. - * @param socketFactory A socket factory. + * @param socketFactory A socket factory for {@link RtspClient}'s connection. */ public RtspMediaPeriod( Allocator allocator, @@ -111,8 +111,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; Uri uri, Listener listener, String userAgent, - boolean debugLoggingEnabled, - @Nullable SocketFactory socketFactory) { + SocketFactory socketFactory, + boolean debugLoggingEnabled) { this.allocator = allocator; this.rtpDataChannelFactory = rtpDataChannelFactory; this.listener = listener; @@ -125,8 +125,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /* playbackEventListener= */ internalListener, /* userAgent= */ userAgent, /* uri= */ uri, - debugLoggingEnabled, - socketFactory); + socketFactory, + debugLoggingEnabled); rtspLoaderWrappers = new ArrayList<>(); selectedLoadInfos = new ArrayList<>(); diff --git a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java index 54145cad9b..9fb0912f9d 100644 --- a/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java +++ b/library/rtsp/src/main/java/com/google/android/exoplayer2/source/rtsp/RtspMediaSource.java @@ -69,9 +69,9 @@ public final class RtspMediaSource extends BaseMediaSource { private long timeoutMs; private String userAgent; + @Nullable private SocketFactory socketFactory; private boolean forceUseRtpTcp; private boolean debugLoggingEnabled; - private SocketFactory socketFactory; public Factory() { timeoutMs = DEFAULT_TIMEOUT_MS; @@ -120,9 +120,8 @@ public final class RtspMediaSource extends BaseMediaSource { } /** - * Configures a socket factory to be used for client connections. - * - * When unspecified, {@link SocketFactory#getDefault()} is used. + * Sets a socket factory for {@link RtspClient}'s connection, the default value is {@link + * SocketFactory#getDefault()}. * * @param socketFactory A socket factory. * @return This Factory, for convenience. @@ -217,8 +216,8 @@ public final class RtspMediaSource extends BaseMediaSource { ? new TransferRtpDataChannelFactory(timeoutMs) : new UdpDataSourceRtpDataChannelFactory(timeoutMs), userAgent, - debugLoggingEnabled, - socketFactory); + socketFactory == null ? SocketFactory.getDefault() : socketFactory, + debugLoggingEnabled); } } @@ -241,10 +240,8 @@ public final class RtspMediaSource extends BaseMediaSource { private final RtpDataChannel.Factory rtpDataChannelFactory; private final String userAgent; private final Uri uri; - private final boolean debugLoggingEnabled; - - @Nullable private final SocketFactory socketFactory; + private final boolean debugLoggingEnabled; private long timelineDurationUs; private boolean timelineIsSeekable; @@ -256,8 +253,8 @@ public final class RtspMediaSource extends BaseMediaSource { MediaItem mediaItem, RtpDataChannel.Factory rtpDataChannelFactory, String userAgent, - boolean debugLoggingEnabled, - @Nullable SocketFactory socketFactory) { + SocketFactory socketFactory, + boolean debugLoggingEnabled) { this.mediaItem = mediaItem; this.rtpDataChannelFactory = rtpDataChannelFactory; this.userAgent = userAgent; @@ -302,8 +299,8 @@ public final class RtspMediaSource extends BaseMediaSource { notifySourceInfoRefreshed(); }, userAgent, - debugLoggingEnabled, - socketFactory); + socketFactory, + debugLoggingEnabled); } @Override diff --git a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspClientTest.java b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspClientTest.java index 2ffb507de2..89a0b24287 100644 --- a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspClientTest.java +++ b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspClientTest.java @@ -146,8 +146,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - socketFactory); + socketFactory, + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> tracksInSession.get() != null); @@ -190,8 +190,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ null, + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> tracksInSession.get() != null); @@ -242,8 +242,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> tracksInSession.get() != null); @@ -286,8 +286,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> tracksInSession.get() != null); @@ -333,8 +333,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> failureMessage.get() != null); @@ -380,8 +380,8 @@ public final class RtspClientTest { EMPTY_PLAYBACK_LISTENER, /* userAgent= */ "ExoPlayer:RtspClientTest", RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false); rtspClient.start(); RobolectricUtil.runMainLooperUntil(() -> failureCause.get() != null); diff --git a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriodTest.java b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriodTest.java index 9c77d5406e..45da1a3785 100644 --- a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriodTest.java +++ b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspMediaPeriodTest.java @@ -27,6 +27,7 @@ import com.google.android.exoplayer2.util.Util; import com.google.common.collect.ImmutableList; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; +import javax.net.SocketFactory; import org.junit.After; import org.junit.Test; import org.junit.runner.RunWith; @@ -84,8 +85,8 @@ public final class RtspMediaPeriodTest { RtspTestUtils.getTestUri(rtspServer.startAndGetPortNumber()), /* listener= */ timing -> refreshedSourceDurationMs.set(timing.getDurationMs()), /* userAgent= */ "ExoPlayer:RtspPeriodTest", - /* debugLoggingEnabled= */ false, - /* socketFactory */ null); + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false); mediaPeriod.prepare( new MediaPeriod.Callback() { diff --git a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspPlaybackTest.java b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspPlaybackTest.java index 625f310387..9f464ee5c3 100644 --- a/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspPlaybackTest.java +++ b/library/rtsp/src/test/java/com/google/android/exoplayer2/source/rtsp/RtspPlaybackTest.java @@ -46,6 +46,7 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicReference; +import javax.net.SocketFactory; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -156,8 +157,8 @@ public final class RtspPlaybackTest { MediaItem.fromUri(RtspTestUtils.getTestUri(serverRtspPortNumber)), rtpDataChannelFactory, "ExoPlayer:PlaybackTest", - /* debugLoggingEnabled= */ false, - /* socketFactory */ null), + /* socketFactory */ SocketFactory.getDefault(), + /* debugLoggingEnabled= */ false), false); return player; }