Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
SDK
/
exoplayer
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0cc0444a
authored
Sep 20, 2019
by
tonihei
Committed by
Toni
Sep 20, 2019
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Restructure setup of default values in track selection parameter builders.
PiperOrigin-RevId: 270250456
parent
6cd53052
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
58 additions
and
64 deletions
library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java
library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java
library/core/src/main/java/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.java
library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java
View file @
0cc0444a
...
...
@@ -89,7 +89,7 @@ public final class DownloadHelper {
*
* <p>If possible, use {@link #getDefaultTrackSelectorParameters(Context)} instead.
*
* @see
DefaultTrackSelector.
Parameters#DEFAULT_WITHOUT_CONTEXT
* @see Parameters#DEFAULT_WITHOUT_CONTEXT
*/
public
static
final
Parameters
DEFAULT_TRACK_SELECTOR_PARAMETERS_WITHOUT_CONTEXT
=
Parameters
.
DEFAULT_WITHOUT_CONTEXT
.
buildUpon
().
setForceHighestSupportedBitrate
(
true
).
build
();
...
...
library/core/src/main/java/com/google/android/exoplayer2/trackselection/DefaultTrackSelector.java
View file @
0cc0444a
...
...
@@ -43,6 +43,7 @@ import java.util.HashSet;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.atomic.AtomicReference
;
import
org.checkerframework.checker.initialization.qual.UnderInitialization
;
import
org.checkerframework.checker.nullness.compatqual.NullableType
;
/**
...
...
@@ -191,8 +192,12 @@ public class DefaultTrackSelector extends MappingTrackSelector {
* #ParametersBuilder(Context)} instead.
*/
@Deprecated
@SuppressWarnings
({
"deprecation"
})
public
ParametersBuilder
()
{
this
(
Parameters
.
DEFAULT_WITHOUT_CONTEXT
);
super
();
setInitialValuesWithoutContext
();
selectionOverrides
=
new
SparseArray
<>();
rendererDisabledFlags
=
new
SparseBooleanArray
();
}
/**
...
...
@@ -200,8 +205,13 @@ public class DefaultTrackSelector extends MappingTrackSelector {
*
* @param context Any context.
*/
public
ParametersBuilder
(
Context
context
)
{
this
(
Parameters
.
getDefaults
(
context
));
super
(
context
);
setInitialValuesWithoutContext
();
selectionOverrides
=
new
SparseArray
<>();
rendererDisabledFlags
=
new
SparseBooleanArray
();
setViewportSizeToPhysicalDisplaySize
(
context
,
/* viewportOrientationMayChange= */
true
);
}
/**
...
...
@@ -739,6 +749,32 @@ public class DefaultTrackSelector extends MappingTrackSelector {
rendererDisabledFlags
);
}
private
void
setInitialValuesWithoutContext
(
@UnderInitialization
ParametersBuilder
this
)
{
// Video
maxVideoWidth
=
Integer
.
MAX_VALUE
;
maxVideoHeight
=
Integer
.
MAX_VALUE
;
maxVideoFrameRate
=
Integer
.
MAX_VALUE
;
maxVideoBitrate
=
Integer
.
MAX_VALUE
;
exceedVideoConstraintsIfNecessary
=
true
;
allowVideoMixedMimeTypeAdaptiveness
=
false
;
allowVideoNonSeamlessAdaptiveness
=
true
;
viewportWidth
=
Integer
.
MAX_VALUE
;
viewportHeight
=
Integer
.
MAX_VALUE
;
viewportOrientationMayChange
=
true
;
// Audio
maxAudioChannelCount
=
Integer
.
MAX_VALUE
;
maxAudioBitrate
=
Integer
.
MAX_VALUE
;
exceedAudioConstraintsIfNecessary
=
true
;
allowAudioMixedMimeTypeAdaptiveness
=
false
;
allowAudioMixedSampleRateAdaptiveness
=
false
;
allowAudioMixedChannelCountAdaptiveness
=
false
;
// General
forceLowestBitrate
=
false
;
forceHighestSupportedBitrate
=
false
;
exceedRendererCapabilitiesIfNecessary
=
true
;
tunnelingAudioSessionId
=
C
.
AUDIO_SESSION_ID_UNSET
;
}
private
static
SparseArray
<
Map
<
TrackGroupArray
,
SelectionOverride
>>
cloneSelectionOverrides
(
SparseArray
<
Map
<
TrackGroupArray
,
SelectionOverride
>>
selectionOverrides
)
{
SparseArray
<
Map
<
TrackGroupArray
,
SelectionOverride
>>
clone
=
new
SparseArray
<>();
...
...
@@ -771,7 +807,8 @@ public class DefaultTrackSelector extends MappingTrackSelector {
* {@link android.view.accessibility.CaptioningManager}.
* </ul>
*/
public
static
final
Parameters
DEFAULT_WITHOUT_CONTEXT
=
new
Parameters
();
@SuppressWarnings
(
"deprecation"
)
public
static
final
Parameters
DEFAULT_WITHOUT_CONTEXT
=
new
ParametersBuilder
().
build
();
/**
* @deprecated This instance does not have {@link Context} constraints configured. Use {@link
...
...
@@ -783,15 +820,13 @@ public class DefaultTrackSelector extends MappingTrackSelector {
* @deprecated This instance does not have {@link Context} constraints configured. Use {@link
* #getDefaults(Context)} instead.
*/
@Deprecated
public
static
final
Parameters
DEFAULT
=
DEFAULT_WITHOUT_CONTEXT
;
@SuppressWarnings
(
"deprecation"
)
@Deprecated
public
static
final
Parameters
DEFAULT
=
DEFAULT_WITHOUT_CONTEXT
;
/** Returns an instance configured with default values. */
public
static
Parameters
getDefaults
(
Context
context
)
{
return
DEFAULT_WITHOUT_CONTEXT
.
buildUpon
()
.
setViewportSizeToPhysicalDisplaySize
(
context
,
/* viewportOrientationMayChange= */
true
)
.
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings
(
context
)
.
build
();
return
new
ParametersBuilder
(
context
).
build
();
}
// Video
...
...
@@ -931,41 +966,6 @@ public class DefaultTrackSelector extends MappingTrackSelector {
private
final
SparseArray
<
Map
<
TrackGroupArray
,
SelectionOverride
>>
selectionOverrides
;
private
final
SparseBooleanArray
rendererDisabledFlags
;
private
Parameters
()
{
this
(
// Video
/* maxVideoWidth= */
Integer
.
MAX_VALUE
,
/* maxVideoHeight= */
Integer
.
MAX_VALUE
,
/* maxVideoFrameRate= */
Integer
.
MAX_VALUE
,
/* maxVideoBitrate= */
Integer
.
MAX_VALUE
,
/* exceedVideoConstraintsIfNecessary= */
true
,
/* allowVideoMixedMimeTypeAdaptiveness= */
false
,
/* allowVideoNonSeamlessAdaptiveness= */
true
,
/* viewportWidth= */
Integer
.
MAX_VALUE
,
/* viewportHeight= */
Integer
.
MAX_VALUE
,
/* viewportOrientationMayChange= */
true
,
// Audio
TrackSelectionParameters
.
DEFAULT_WITHOUT_CONTEXT
.
preferredAudioLanguage
,
/* maxAudioChannelCount= */
Integer
.
MAX_VALUE
,
/* maxAudioBitrate= */
Integer
.
MAX_VALUE
,
/* exceedAudioConstraintsIfNecessary= */
true
,
/* allowAudioMixedMimeTypeAdaptiveness= */
false
,
/* allowAudioMixedSampleRateAdaptiveness= */
false
,
/* allowAudioMixedChannelCountAdaptiveness= */
false
,
// Text
TrackSelectionParameters
.
DEFAULT_WITHOUT_CONTEXT
.
preferredTextLanguage
,
TrackSelectionParameters
.
DEFAULT_WITHOUT_CONTEXT
.
preferredTextRoleFlags
,
TrackSelectionParameters
.
DEFAULT_WITHOUT_CONTEXT
.
selectUndeterminedTextLanguage
,
TrackSelectionParameters
.
DEFAULT_WITHOUT_CONTEXT
.
disabledTextTrackSelectionFlags
,
// General
/* forceLowestBitrate= */
false
,
/* forceHighestSupportedBitrate= */
false
,
/* exceedRendererCapabilitiesIfNecessary= */
true
,
/* tunnelingAudioSessionId= */
C
.
AUDIO_SESSION_ID_UNSET
,
new
SparseArray
<>(),
new
SparseBooleanArray
());
}
/* package */
Parameters
(
// Video
int
maxVideoWidth
,
...
...
@@ -1458,6 +1458,7 @@ public class DefaultTrackSelector extends MappingTrackSelector {
/** @deprecated Use {@link #DefaultTrackSelector(Context, TrackSelection.Factory)}. */
@Deprecated
@SuppressWarnings
(
"deprecation"
)
public
DefaultTrackSelector
(
TrackSelection
.
Factory
trackSelectionFactory
)
{
this
(
Parameters
.
DEFAULT_WITHOUT_CONTEXT
,
trackSelectionFactory
);
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/trackselection/TrackSelectionParameters.java
View file @
0cc0444a
...
...
@@ -46,8 +46,10 @@ public class TrackSelectionParameters implements Parcelable {
*
* @param context Any context.
*/
@SuppressWarnings
({
"deprecation"
,
"initialization:method.invocation.invalid"
})
public
Builder
(
Context
context
)
{
this
(
TrackSelectionParameters
.
getDefaults
(
context
));
this
();
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings
(
context
);
}
/**
...
...
@@ -56,7 +58,11 @@ public class TrackSelectionParameters implements Parcelable {
*/
@Deprecated
public
Builder
()
{
this
(
DEFAULT_WITHOUT_CONTEXT
);
preferredAudioLanguage
=
null
;
preferredTextLanguage
=
null
;
preferredTextRoleFlags
=
0
;
selectUndeterminedTextLanguage
=
false
;
disabledTextTrackSelectionFlags
=
0
;
}
/**
...
...
@@ -191,21 +197,18 @@ public class TrackSelectionParameters implements Parcelable {
* {@link CaptioningManager}.
* </ul>
*/
public
static
final
TrackSelectionParameters
DEFAULT_WITHOUT_CONTEXT
=
new
TrackSelectionParameters
();
@SuppressWarnings
(
"deprecation"
)
public
static
final
TrackSelectionParameters
DEFAULT_WITHOUT_CONTEXT
=
new
Builder
().
build
();
/**
* @deprecated This instance is not configured using {@link Context} constraints. Use {@link
* #getDefaults(Context)} instead.
*/
@Deprecated
public
static
final
TrackSelectionParameters
DEFAULT
=
new
TrackSelectionParameters
()
;
@Deprecated
public
static
final
TrackSelectionParameters
DEFAULT
=
DEFAULT_WITHOUT_CONTEXT
;
/** Returns an instance configured with default values. */
public
static
TrackSelectionParameters
getDefaults
(
Context
context
)
{
return
DEFAULT_WITHOUT_CONTEXT
.
buildUpon
()
.
setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings
(
context
)
.
build
();
return
new
Builder
(
context
).
build
();
}
/**
...
...
@@ -239,16 +242,6 @@ public class TrackSelectionParameters implements Parcelable {
*/
@C
.
SelectionFlags
public
final
int
disabledTextTrackSelectionFlags
;
/* package */
TrackSelectionParameters
()
{
this
(
/* preferredAudioLanguage= */
null
,
// Text
/* preferredTextLanguage= */
null
,
/* preferredTextRoleFlags= */
0
,
/* selectUndeterminedTextLanguage= */
false
,
/* disabledTextTrackSelectionFlags= */
0
);
}
/* package */
TrackSelectionParameters
(
@Nullable
String
preferredAudioLanguage
,
@Nullable
String
preferredTextLanguage
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment