PR feedback

This commit is contained in:
Sebastian Roth 2021-11-02 14:58:15 +00:00
parent 1ecbdb8d9c
commit 0830c06cd7
6 changed files with 38 additions and 40 deletions

View file

@ -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<RtpLoadInfo> pendingSetupRtpLoadInfos;
// TODO(b/172331505) Add a timeout monitor for pending requests.
private final SparseArray<RtspRequest> 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);
}

View file

@ -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<>();

View file

@ -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

View file

@ -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);

View file

@ -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() {

View file

@ -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;
}