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
2ea902c1
authored
Mar 10, 2022
by
olly
Committed by
Ian Baker
Mar 24, 2022
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Move TrackSelection back to ExoPlayer module
PiperOrigin-RevId: 433729648
parent
50efd866
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
29 additions
and
34 deletions
libraries/common/src/main/java/androidx/media3/common/Player.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/ExoTrackSelection.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/FixedTrackSelection.java
libraries/common/src/main/java/androidx/media3/common/TrackSelection.java → libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelection.java
libraries/common/src/main/java/androidx/media3/common/TrackSelectionArray.java → libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelectionArray.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelectionUtil.java
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelector.java
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelectionTest.java
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/TrackSelectionUtilTest.java
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java
libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java
libraries/common/src/main/java/androidx/media3/common/Player.java
View file @
2ea902c1
...
...
@@ -683,11 +683,12 @@ public interface Player {
/**
* Called when the combined {@link MediaMetadata} changes.
*
* <p>The provided {@link MediaMetadata} is a combination of the {@link MediaItem#mediaMetadata}
* and the static and dynamic metadata from the {@link TrackSelection#getFormat(int) track
* selections' formats} and {@link Listener#onMetadata(Metadata)}. If a field is populated in
* the {@link MediaItem#mediaMetadata}, it will be prioritised above the same field coming from
* static or dynamic metadata.
* <p>The provided {@link MediaMetadata} is a combination of the {@link MediaItem#mediaMetadata
* MediaItem metadata}, the static metadata in the media's {@link Format#metadata Format}, and
* any timed metadata that has been parsed from the media and output via {@link
* Listener#onMetadata(Metadata)}. If a field is populated in the {@link
* MediaItem#mediaMetadata}, it will be prioritised above the same field coming from static or
* timed metadata.
*
* <p>This method may be called multiple times in quick succession.
*
...
...
@@ -2123,11 +2124,11 @@ public interface Player {
* Returns the current combined {@link MediaMetadata}, or {@link MediaMetadata#EMPTY} if not
* supported.
*
* <p>This {@link MediaMetadata} is a combination of the {@link MediaItem#mediaMetadata
} and the
*
static and dynamic metadata from the {@link TrackSelection#getFormat(int) track selections'
*
formats} and {@link Listener#onMetadata(Metadata)}. If a field is populated in the
{@link
*
MediaItem#mediaMetadata}, it will be prioritised above the same field coming from static or
*
dynamic
metadata.
* <p>This {@link MediaMetadata} is a combination of the {@link MediaItem#mediaMetadata
MediaItem
*
metadata}, the static metadata in the media's {@link Format#metadata Format}, and any timed
*
metadata that has been parsed from the media and output via
{@link
*
Listener#onMetadata(Metadata)}. If a field is populated in the {@link MediaItem#mediaMetadata},
*
it will be prioritised above the same field coming from static or timed
metadata.
*/
MediaMetadata
getMediaMetadata
();
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java
View file @
2ea902c1
...
...
@@ -39,7 +39,6 @@ import androidx.media3.common.Player;
import
androidx.media3.common.PriorityTaskManager
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
import
androidx.media3.common.text.Cue
;
...
...
@@ -59,6 +58,7 @@ import androidx.media3.exoplayer.source.MediaSource;
import
androidx.media3.exoplayer.source.ShuffleOrder
;
import
androidx.media3.exoplayer.text.TextRenderer
;
import
androidx.media3.exoplayer.trackselection.DefaultTrackSelector
;
import
androidx.media3.exoplayer.trackselection.TrackSelectionArray
;
import
androidx.media3.exoplayer.trackselection.TrackSelector
;
import
androidx.media3.exoplayer.upstream.BandwidthMeter
;
import
androidx.media3.exoplayer.upstream.DefaultBandwidthMeter
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java
View file @
2ea902c1
...
...
@@ -70,7 +70,6 @@ import androidx.media3.common.PriorityTaskManager;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
...
...
@@ -95,6 +94,7 @@ import androidx.media3.exoplayer.source.MediaSource.MediaPeriodId;
import
androidx.media3.exoplayer.source.ShuffleOrder
;
import
androidx.media3.exoplayer.text.TextOutput
;
import
androidx.media3.exoplayer.trackselection.ExoTrackSelection
;
import
androidx.media3.exoplayer.trackselection.TrackSelectionArray
;
import
androidx.media3.exoplayer.trackselection.TrackSelector
;
import
androidx.media3.exoplayer.trackselection.TrackSelectorResult
;
import
androidx.media3.exoplayer.upstream.BandwidthMeter
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java
View file @
2ea902c1
...
...
@@ -36,7 +36,6 @@ import androidx.media3.common.PlaybackParameters;
import
androidx.media3.common.PriorityTaskManager
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
...
...
@@ -49,6 +48,7 @@ import androidx.media3.exoplayer.analytics.AnalyticsListener;
import
androidx.media3.exoplayer.source.DefaultMediaSourceFactory
;
import
androidx.media3.exoplayer.source.MediaSource
;
import
androidx.media3.exoplayer.source.ShuffleOrder
;
import
androidx.media3.exoplayer.trackselection.TrackSelectionArray
;
import
androidx.media3.exoplayer.trackselection.TrackSelector
;
import
androidx.media3.exoplayer.upstream.BandwidthMeter
;
import
androidx.media3.exoplayer.video.VideoFrameMetadataListener
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java
View file @
2ea902c1
...
...
@@ -45,7 +45,6 @@ import androidx.media3.common.Player.DiscontinuityReason;
import
androidx.media3.common.Player.PlaybackSuppressionReason
;
import
androidx.media3.common.Player.TimelineChangeReason
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.VideoSize
;
...
...
@@ -60,6 +59,7 @@ import androidx.media3.exoplayer.metadata.MetadataOutput;
import
androidx.media3.exoplayer.source.LoadEventInfo
;
import
androidx.media3.exoplayer.source.MediaLoadData
;
import
androidx.media3.exoplayer.source.MediaSource.MediaPeriodId
;
import
androidx.media3.exoplayer.trackselection.TrackSelection
;
import
androidx.media3.exoplayer.video.VideoDecoderOutputBufferRenderer
;
import
com.google.common.base.Objects
;
import
java.io.IOException
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelection.java
View file @
2ea902c1
...
...
@@ -24,7 +24,6 @@ import androidx.media3.common.C;
import
androidx.media3.common.Format
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.util.Clock
;
import
androidx.media3.common.util.Log
;
import
androidx.media3.common.util.UnstableApi
;
...
...
@@ -781,7 +780,8 @@ public class AdaptiveTrackSelection extends BaseTrackSelection {
}
double
[]
logBitrates
=
new
double
[
trackBitrates
[
i
].
length
];
for
(
int
j
=
0
;
j
<
trackBitrates
[
i
].
length
;
j
++)
{
logBitrates
[
j
]
=
trackBitrates
[
i
][
j
]
==
Format
.
NO_VALUE
?
0
:
Math
.
log
(
trackBitrates
[
i
][
j
]);
logBitrates
[
j
]
=
trackBitrates
[
i
][
j
]
==
Format
.
NO_VALUE
?
0
:
Math
.
log
((
double
)
trackBitrates
[
i
][
j
]);
}
double
totalBitrateDiff
=
logBitrates
[
logBitrates
.
length
-
1
]
-
logBitrates
[
0
];
for
(
int
j
=
0
;
j
<
logBitrates
.
length
-
1
;
j
++)
{
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/BaseTrackSelection.java
View file @
2ea902c1
...
...
@@ -22,7 +22,6 @@ import androidx.annotation.Nullable;
import
androidx.media3.common.C
;
import
androidx.media3.common.Format
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.util.Assertions
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.common.util.Util
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java
View file @
2ea902c1
...
...
@@ -37,7 +37,6 @@ import androidx.media3.common.MimeTypes;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TrackSelectionOverride
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.util.Assertions
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/ExoTrackSelection.java
View file @
2ea902c1
...
...
@@ -20,7 +20,6 @@ import androidx.media3.common.C;
import
androidx.media3.common.Format
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.util.Log
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.exoplayer.source.MediaSource.MediaPeriodId
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/FixedTrackSelection.java
View file @
2ea902c1
...
...
@@ -18,7 +18,6 @@ package androidx.media3.exoplayer.trackselection;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.C
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.exoplayer.source.chunk.MediaChunk
;
import
androidx.media3.exoplayer.source.chunk.MediaChunkIterator
;
...
...
libraries/
common/src/main/java/androidx/media3/comm
on/TrackSelection.java
→
libraries/
exoplayer/src/main/java/androidx/media3/exoplayer/trackselecti
on/TrackSelection.java
View file @
2ea902c1
...
...
@@ -13,11 +13,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
androidx
.
media3
.
comm
on
;
package
androidx
.
media3
.
exoplayer
.
trackselecti
on
;
import
static
java
.
lang
.
annotation
.
ElementType
.
TYPE_USE
;
import
androidx.annotation.IntDef
;
import
androidx.media3.common.C
;
import
androidx.media3.common.Format
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.util.UnstableApi
;
import
java.lang.annotation.Documented
;
import
java.lang.annotation.Retention
;
...
...
libraries/
common/src/main/java/androidx/media3/comm
on/TrackSelectionArray.java
→
libraries/
exoplayer/src/main/java/androidx/media3/exoplayer/trackselecti
on/TrackSelectionArray.java
View file @
2ea902c1
...
...
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
androidx
.
media3
.
comm
on
;
package
androidx
.
media3
.
exoplayer
.
trackselecti
on
;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.util.UnstableApi
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelectionUtil.java
View file @
2ea902c1
...
...
@@ -20,7 +20,6 @@ import androidx.annotation.Nullable;
import
androidx.media3.common.C
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.TracksInfo.TrackGroupInfo
;
import
androidx.media3.common.util.UnstableApi
;
...
...
libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/TrackSelector.java
View file @
2ea902c1
...
...
@@ -18,7 +18,6 @@ package androidx.media3.exoplayer.trackselection;
import
androidx.annotation.Nullable
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.util.Assertions
;
import
androidx.media3.common.util.UnstableApi
;
...
...
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/AdaptiveTrackSelectionTest.java
View file @
2ea902c1
...
...
@@ -24,7 +24,6 @@ import androidx.media3.common.Format;
import
androidx.media3.common.MimeTypes
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.datasource.DataSpec
;
import
androidx.media3.exoplayer.source.MediaSource
;
import
androidx.media3.exoplayer.source.chunk.BaseMediaChunkIterator
;
...
...
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java
View file @
2ea902c1
...
...
@@ -41,7 +41,6 @@ import androidx.media3.common.MimeTypes;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TrackSelectionOverride
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.util.Util
;
...
...
libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/TrackSelectionUtilTest.java
View file @
2ea902c1
...
...
@@ -33,7 +33,6 @@ import static com.google.common.truth.Truth.assertThat;
import
androidx.media3.common.Format
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.TracksInfo.TrackGroupInfo
;
import
androidx.test.ext.junit.runners.AndroidJUnit4
;
...
...
libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java
View file @
2ea902c1
...
...
@@ -23,13 +23,13 @@ import androidx.media3.common.MediaItem;
import
androidx.media3.common.PlaybackException
;
import
androidx.media3.common.Player
;
import
androidx.media3.common.Timeline
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.TrackSelectionParameters
;
import
androidx.media3.common.TracksInfo
;
import
androidx.media3.common.util.Clock
;
import
androidx.media3.common.util.ListenerSet
;
import
androidx.media3.common.util.Util
;
import
androidx.media3.exoplayer.ExoPlayer
;
import
androidx.media3.exoplayer.trackselection.TrackSelectionArray
;
import
androidx.media3.test.utils.StubExoPlayer
;
/** A fake {@link ExoPlayer} for testing content/ad playback. */
...
...
@@ -79,7 +79,7 @@ import androidx.media3.test.utils.StubExoPlayer;
PositionInfo
oldPosition
=
new
PositionInfo
(
windowUid
,
/*
window
Index= */
0
,
/*
mediaItem
Index= */
0
,
mediaItem
,
periodUid
,
/* periodIndex= */
0
,
...
...
@@ -97,7 +97,7 @@ import androidx.media3.test.utils.StubExoPlayer;
PositionInfo
newPosition
=
new
PositionInfo
(
windowUid
,
/*
window
Index= */
0
,
/*
mediaItem
Index= */
0
,
mediaItem
,
periodUid
,
/* periodIndex= */
0
,
...
...
@@ -128,7 +128,7 @@ import androidx.media3.test.utils.StubExoPlayer;
PositionInfo
oldPosition
=
new
PositionInfo
(
windowUid
,
/*
window
Index= */
0
,
/*
mediaItem
Index= */
0
,
mediaItem
,
periodUid
,
/* periodIndex= */
0
,
...
...
@@ -146,7 +146,7 @@ import androidx.media3.test.utils.StubExoPlayer;
PositionInfo
newPosition
=
new
PositionInfo
(
windowUid
,
/*
window
Index= */
0
,
/*
mediaItem
Index= */
0
,
mediaItem
,
periodUid
,
/* periodIndex= */
0
,
...
...
libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java
View file @
2ea902c1
...
...
@@ -29,7 +29,6 @@ import androidx.media3.common.Format;
import
androidx.media3.common.StreamKey
;
import
androidx.media3.common.TrackGroup
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelection
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.common.util.Util
;
import
androidx.media3.decoder.DecoderInputBuffer
;
...
...
@@ -45,6 +44,7 @@ import androidx.media3.exoplayer.source.SampleStream;
import
androidx.media3.exoplayer.source.SampleStream.ReadDataResult
;
import
androidx.media3.exoplayer.source.SampleStream.ReadFlags
;
import
androidx.media3.exoplayer.trackselection.ExoTrackSelection
;
import
androidx.media3.exoplayer.trackselection.TrackSelection
;
import
androidx.media3.exoplayer.upstream.Allocator
;
import
androidx.media3.exoplayer.upstream.Loader
;
import
androidx.media3.exoplayer.upstream.Loader.Loadable
;
...
...
libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java
View file @
2ea902c1
...
...
@@ -22,7 +22,6 @@ import androidx.media3.common.AuxEffectInfo;
import
androidx.media3.common.Format
;
import
androidx.media3.common.PriorityTaskManager
;
import
androidx.media3.common.TrackGroupArray
;
import
androidx.media3.common.TrackSelectionArray
;
import
androidx.media3.common.util.Clock
;
import
androidx.media3.common.util.UnstableApi
;
import
androidx.media3.exoplayer.DecoderCounters
;
...
...
@@ -35,6 +34,7 @@ import androidx.media3.exoplayer.analytics.AnalyticsCollector;
import
androidx.media3.exoplayer.analytics.AnalyticsListener
;
import
androidx.media3.exoplayer.source.MediaSource
;
import
androidx.media3.exoplayer.source.ShuffleOrder
;
import
androidx.media3.exoplayer.trackselection.TrackSelectionArray
;
import
androidx.media3.exoplayer.trackselection.TrackSelector
;
import
androidx.media3.exoplayer.video.VideoFrameMetadataListener
;
import
androidx.media3.exoplayer.video.spherical.CameraMotionListener
;
...
...
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