diff --git a/library/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java b/library/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java
index 02b2ef5de9..81d79ac055 100644
--- a/library/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java
+++ b/library/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java
@@ -68,8 +68,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
*
Adaptation between different mime types is not allowed.
* Non seamless adaptation is allowed.
* No max limit for video width/height.
- * Video constrains are ignored if no supported selection can be made otherwise.
- * No viewport width/height constrains are set.
+ * Video constraints are ignored if no supported selection can be made otherwise.
+ * No viewport width/height constraints are set.
*
*/
public Parameters() {
@@ -195,6 +195,24 @@ public class DefaultTrackSelector extends MappingTrackSelector {
orientationMayChange);
}
+ /**
+ * Equivalent to {@code withMaxVideoSize(1279, 719)}.
+ *
+ * @return A {@link Parameters} instance with maximum standard definition as maximum video size.
+ */
+ public Parameters withMaxVideoSizeSd() {
+ return withMaxVideoSize(1279, 719);
+ }
+
+ /**
+ * Equivalent to {@code withMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE)}.
+ *
+ * @return A {@link Parameters} instance without video size constraints.
+ */
+ public Parameters withoutVideoSizeConstraints() {
+ return withMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE);
+ }
+
/**
* Returns a {@link Parameters} instance with the provided
* {@code exceedVideoConstraintsIfNecessary} value.
@@ -250,6 +268,15 @@ public class DefaultTrackSelector extends MappingTrackSelector {
return withViewportSize(viewportSize.x, viewportSize.y, orientationMayChange);
}
+ /**
+ * Equivalent to {@code withViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true)}.
+ *
+ * @return A {@link Parameters} instance without viewport size constraints.
+ */
+ public Parameters withoutViewportSizeConstraints() {
+ return withViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true);
+ }
+
@Override
public boolean equals(Object obj) {
if (this == obj) {
@@ -335,108 +362,12 @@ public class DefaultTrackSelector extends MappingTrackSelector {
}
/**
- * Sets the preferred language for audio, as well as for forced text tracks.
+ * Gets the current selection parameters.
*
- * @param preferredAudioLanguage The preferred language as defined by RFC 5646. {@code null} to
- * select the default track, or first track if there's no default.
+ * @return The current selection parameters.
*/
- public void setPreferredLanguage(String preferredAudioLanguage) {
- preferredAudioLanguage = Util.normalizeLanguageCode(preferredAudioLanguage);
- setParameters(params.get().withPreferredAudioLanguage(preferredAudioLanguage));
- }
-
- /**
- * Sets the preferred language for text tracks.
- *
- * @param preferredTextLanguage The preferred language as defined by RFC 5646. {@code null} to
- * select the default track, or no track if there's no default.
- */
- public void setPreferredTextLanguage(String preferredTextLanguage) {
- preferredTextLanguage = Util.normalizeLanguageCode(preferredTextLanguage);
- setParameters(params.get().withPreferredTextLanguage(preferredTextLanguage));
- }
-
- /**
- * Sets whether to allow selections to contain mixed mime types.
- *
- * @param allowMixedMimeAdaptiveness Whether to allow selections to contain mixed mime types.
- */
- public void allowMixedMimeAdaptiveness(boolean allowMixedMimeAdaptiveness) {
- setParameters(params.get().withAllowMixedMimeAdaptiveness(allowMixedMimeAdaptiveness));
- }
-
- /**
- * Sets whether non-seamless adaptation is allowed.
- *
- * @param allowNonSeamlessAdaptiveness Whether non-seamless adaptation is allowed.
- */
- public void allowNonSeamlessAdaptiveness(boolean allowNonSeamlessAdaptiveness) {
- setParameters(params.get().withAllowNonSeamlessAdaptiveness(allowNonSeamlessAdaptiveness));
- }
-
- /**
- * Sets the maximum allowed size for video tracks.
- *
- * @param maxVideoWidth Maximum allowed width.
- * @param maxVideoHeight Maximum allowed height.
- */
- public void setMaxVideoSize(int maxVideoWidth, int maxVideoHeight) {
- setParameters(params.get().withMaxVideoSize(maxVideoWidth, maxVideoHeight));
- }
-
- /**
- * Equivalent to {@code setMaxVideoSize(1279, 719)}.
- */
- public void setMaxVideoSizeSd() {
- setMaxVideoSize(1279, 719);
- }
-
- /**
- * Equivalent to {@code setMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE)}.
- */
- public void clearMaxVideoSize() {
- setMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE);
- }
-
- /**
- * Sets whether video constraints should be ignored when no selection can be made otherwise.
- *
- * @param exceedVideoConstraintsIfNecessary True to ignore video constraints when no selections
- * can be made otherwise. False to force constraints anyway.
- */
- public void setExceedVideoConstraintsIfNecessary(boolean exceedVideoConstraintsIfNecessary) {
- setParameters(
- params.get().withExceedVideoConstraintsIfNecessary(exceedVideoConstraintsIfNecessary));
- }
-
- /**
- * Sets the target viewport size for selecting video tracks.
- *
- * @param viewportWidth Viewport width in pixels.
- * @param viewportHeight Viewport height in pixels.
- * @param orientationMayChange Whether orientation may change during playback.
- */
- public void setViewportSize(int viewportWidth, int viewportHeight, boolean orientationMayChange) {
- setParameters(
- params.get().withViewportSize(viewportWidth, viewportHeight, orientationMayChange));
- }
-
- /**
- * Retrieves the viewport size from the provided {@link Context} and calls
- * {@link #setViewportSize(int, int, boolean)} with this information.
- *
- * @param context The context to obtain the viewport size from.
- * @param orientationMayChange Whether orientation may change during playback.
- */
- public void setViewportSizeFromContext(Context context, boolean orientationMayChange) {
- setParameters(params.get().withViewportSizeFromContext(context, orientationMayChange));
- }
-
- /**
- * Equivalent to {@code setViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true)}.
- */
- public void clearViewportConstraints() {
- setViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true);
+ public Parameters getParameters() {
+ return params.get();
}
// MappingTrackSelector implementation.