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
38e5864f
authored
Aug 13, 2021
by
olly
Committed by
Oliver Woodman
Aug 17, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Remove Player.Listener inheritance of TextOutput
PiperOrigin-RevId: 390630998
parent
743b33e8
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
18 additions
and
45 deletions
RELEASENOTES.md
library/common/src/main/java/com/google/android/exoplayer2/Player.java
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
library/common/src/main/java/com/google/android/exoplayer2/text/TextOutput.java → library/core/src/main/java/com/google/android/exoplayer2/text/TextOutput.java
library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java
RELEASENOTES.md
View file @
38e5864f
...
@@ -17,6 +17,10 @@
...
@@ -17,6 +17,10 @@
application code with Android 12's
`Surface.CHANGE_FRAME_RATE_ALWAYS`
.
application code with Android 12's
`Surface.CHANGE_FRAME_RATE_ALWAYS`
.
*
GVR extension:
*
GVR extension:
*
Remove
`GvrAudioProcessor`
, which has been deprecated since 2.11.0.
*
Remove
`GvrAudioProcessor`
, which has been deprecated since 2.11.0.
*
UI
*
`SubtitleView`
no longer implements
`TextOutput`
.
`SubtitleView`
implements
`Player.Listener`
, so can be registered to a player with
`Player.addListener`
.
*
Remove deprecated symbols:
*
Remove deprecated symbols:
*
Remove
`Renderer.VIDEO_SCALING_MODE_*`
constants. Use identically named
*
Remove
`Renderer.VIDEO_SCALING_MODE_*`
constants. Use identically named
constants in
`C`
instead.
constants in
`C`
instead.
...
...
library/common/src/main/java/com/google/android/exoplayer2/Player.java
View file @
38e5864f
...
@@ -27,7 +27,6 @@ import com.google.android.exoplayer2.audio.AudioAttributes;
...
@@ -27,7 +27,6 @@ import com.google.android.exoplayer2.audio.AudioAttributes;
import
com.google.android.exoplayer2.metadata.Metadata
;
import
com.google.android.exoplayer2.metadata.Metadata
;
import
com.google.android.exoplayer2.source.TrackGroupArray
;
import
com.google.android.exoplayer2.source.TrackGroupArray
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.TextOutput
;
import
com.google.android.exoplayer2.trackselection.TrackSelection
;
import
com.google.android.exoplayer2.trackselection.TrackSelection
;
import
com.google.android.exoplayer2.trackselection.TrackSelectionArray
;
import
com.google.android.exoplayer2.trackselection.TrackSelectionArray
;
import
com.google.android.exoplayer2.util.FlagSet
;
import
com.google.android.exoplayer2.util.FlagSet
;
...
@@ -868,7 +867,7 @@ public interface Player {
...
@@ -868,7 +867,7 @@ public interface Player {
*
*
* <p>All methods have no-op default implementations to allow selective overrides.
* <p>All methods have no-op default implementations to allow selective overrides.
*/
*/
interface
Listener
extends
TextOutput
,
EventListener
{
interface
Listener
extends
EventListener
{
@Override
@Override
default
void
onTimelineChanged
(
Timeline
timeline
,
@TimelineChangeReason
int
reason
)
{}
default
void
onTimelineChanged
(
Timeline
timeline
,
@TimelineChangeReason
int
reason
)
{}
...
@@ -987,7 +986,14 @@ public interface Player {
...
@@ -987,7 +986,14 @@ public interface Player {
*/
*/
default
void
onRenderedFirstFrame
()
{}
default
void
onRenderedFirstFrame
()
{}
@Override
/**
* Called when there is a change in the {@link Cue Cues}.
*
* <p>{@code cues} is in ascending order of priority. If any of the cue boxes overlap when
* displayed, the {@link Cue} nearer the end of the list should be shown on top.
*
* @param cues The {@link Cue Cues}. May be empty.
*/
default
void
onCues
(
List
<
Cue
>
cues
)
{}
default
void
onCues
(
List
<
Cue
>
cues
)
{}
/**
/**
...
...
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java
View file @
38e5864f
...
@@ -41,7 +41,6 @@ import com.google.android.exoplayer2.source.MediaSource;
...
@@ -41,7 +41,6 @@ import com.google.android.exoplayer2.source.MediaSource;
import
com.google.android.exoplayer2.source.MediaSourceFactory
;
import
com.google.android.exoplayer2.source.MediaSourceFactory
;
import
com.google.android.exoplayer2.source.ShuffleOrder
;
import
com.google.android.exoplayer2.source.ShuffleOrder
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.TextOutput
;
import
com.google.android.exoplayer2.text.TextRenderer
;
import
com.google.android.exoplayer2.text.TextRenderer
;
import
com.google.android.exoplayer2.trackselection.DefaultTrackSelector
;
import
com.google.android.exoplayer2.trackselection.DefaultTrackSelector
;
import
com.google.android.exoplayer2.trackselection.TrackSelector
;
import
com.google.android.exoplayer2.trackselection.TrackSelector
;
...
@@ -386,24 +385,6 @@ public interface ExoPlayer extends Player {
...
@@ -386,24 +385,6 @@ public interface ExoPlayer extends Player {
/** The text component of an {@link ExoPlayer}. */
/** The text component of an {@link ExoPlayer}. */
interface
TextComponent
{
interface
TextComponent
{
/**
* Registers an output to receive text events.
*
* @param listener The output to register.
* @deprecated Use {@link #addListener(Listener)}.
*/
@Deprecated
void
addTextOutput
(
TextOutput
listener
);
/**
* Removes a text output.
*
* @param listener The output to remove.
* @deprecated Use {@link #removeListener(Listener)}.
*/
@Deprecated
void
removeTextOutput
(
TextOutput
listener
);
/** Returns the current {@link Cue Cues}. This list may be empty. */
/** Returns the current {@link Cue Cues}. This list may be empty. */
List
<
Cue
>
getCurrentCues
();
List
<
Cue
>
getCurrentCues
();
}
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
View file @
38e5864f
...
@@ -424,7 +424,6 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -424,7 +424,6 @@ public class SimpleExoPlayer extends BasePlayer
private
final
ExoPlayerImpl
player
;
private
final
ExoPlayerImpl
player
;
private
final
ComponentListener
componentListener
;
private
final
ComponentListener
componentListener
;
private
final
FrameMetadataListener
frameMetadataListener
;
private
final
FrameMetadataListener
frameMetadataListener
;
private
final
CopyOnWriteArraySet
<
TextOutput
>
textOutputs
;
private
final
CopyOnWriteArraySet
<
Listener
>
listeners
;
private
final
CopyOnWriteArraySet
<
Listener
>
listeners
;
private
final
AnalyticsCollector
analyticsCollector
;
private
final
AnalyticsCollector
analyticsCollector
;
private
final
AudioBecomingNoisyManager
audioBecomingNoisyManager
;
private
final
AudioBecomingNoisyManager
audioBecomingNoisyManager
;
...
@@ -505,7 +504,6 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -505,7 +504,6 @@ public class SimpleExoPlayer extends BasePlayer
detachSurfaceTimeoutMs
=
builder
.
detachSurfaceTimeoutMs
;
detachSurfaceTimeoutMs
=
builder
.
detachSurfaceTimeoutMs
;
componentListener
=
new
ComponentListener
();
componentListener
=
new
ComponentListener
();
frameMetadataListener
=
new
FrameMetadataListener
();
frameMetadataListener
=
new
FrameMetadataListener
();
textOutputs
=
new
CopyOnWriteArraySet
<>();
listeners
=
new
CopyOnWriteArraySet
<>();
listeners
=
new
CopyOnWriteArraySet
<>();
Handler
eventHandler
=
new
Handler
(
builder
.
looper
);
Handler
eventHandler
=
new
Handler
(
builder
.
looper
);
renderers
=
renderers
=
...
@@ -1046,21 +1044,6 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -1046,21 +1044,6 @@ public class SimpleExoPlayer extends BasePlayer
.
send
();
.
send
();
}
}
@Deprecated
@Override
public
void
addTextOutput
(
TextOutput
listener
)
{
// Don't verify application thread. We allow calls to this method from any thread.
Assertions
.
checkNotNull
(
listener
);
textOutputs
.
add
(
listener
);
}
@Deprecated
@Override
public
void
removeTextOutput
(
TextOutput
listener
)
{
// Don't verify application thread. We allow calls to this method from any thread.
textOutputs
.
remove
(
listener
);
}
@Override
@Override
public
List
<
Cue
>
getCurrentCues
()
{
public
List
<
Cue
>
getCurrentCues
()
{
verifyApplicationThread
();
verifyApplicationThread
();
...
@@ -1087,7 +1070,6 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -1087,7 +1070,6 @@ public class SimpleExoPlayer extends BasePlayer
@Override
@Override
public
void
addListener
(
Listener
listener
)
{
public
void
addListener
(
Listener
listener
)
{
Assertions
.
checkNotNull
(
listener
);
Assertions
.
checkNotNull
(
listener
);
addTextOutput
(
listener
);
listeners
.
add
(
listener
);
listeners
.
add
(
listener
);
EventListener
eventListener
=
listener
;
EventListener
eventListener
=
listener
;
addListener
(
eventListener
);
addListener
(
eventListener
);
...
@@ -1104,7 +1086,6 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -1104,7 +1086,6 @@ public class SimpleExoPlayer extends BasePlayer
@Override
@Override
public
void
removeListener
(
Listener
listener
)
{
public
void
removeListener
(
Listener
listener
)
{
Assertions
.
checkNotNull
(
listener
);
Assertions
.
checkNotNull
(
listener
);
removeTextOutput
(
listener
);
listeners
.
remove
(
listener
);
listeners
.
remove
(
listener
);
EventListener
eventListener
=
listener
;
EventListener
eventListener
=
listener
;
removeListener
(
eventListener
);
removeListener
(
eventListener
);
...
@@ -2057,8 +2038,9 @@ public class SimpleExoPlayer extends BasePlayer
...
@@ -2057,8 +2038,9 @@ public class SimpleExoPlayer extends BasePlayer
@Override
@Override
public
void
onCues
(
List
<
Cue
>
cues
)
{
public
void
onCues
(
List
<
Cue
>
cues
)
{
currentCues
=
cues
;
currentCues
=
cues
;
for
(
TextOutput
textOutput
:
textOutputs
)
{
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
textOutput
.
onCues
(
cues
);
for
(
Listener
listeners
:
listeners
)
{
listeners
.
onCues
(
cues
);
}
}
}
}
...
...
library/co
mmon
/src/main/java/com/google/android/exoplayer2/text/TextOutput.java
→
library/co
re
/src/main/java/com/google/android/exoplayer2/text/TextOutput.java
View file @
38e5864f
File moved
library/ui/src/main/java/com/google/android/exoplayer2/ui/SubtitleView.java
View file @
38e5864f
...
@@ -30,8 +30,8 @@ import android.widget.FrameLayout;
...
@@ -30,8 +30,8 @@ import android.widget.FrameLayout;
import
androidx.annotation.Dimension
;
import
androidx.annotation.Dimension
;
import
androidx.annotation.IntDef
;
import
androidx.annotation.IntDef
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
com.google.android.exoplayer2.Player
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.Cue
;
import
com.google.android.exoplayer2.text.TextOutput
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.util.Util
;
import
java.lang.annotation.Documented
;
import
java.lang.annotation.Documented
;
import
java.lang.annotation.Retention
;
import
java.lang.annotation.Retention
;
...
@@ -40,7 +40,7 @@ import java.util.Collections;
...
@@ -40,7 +40,7 @@ import java.util.Collections;
import
java.util.List
;
import
java.util.List
;
/** A view for displaying subtitle {@link Cue}s. */
/** A view for displaying subtitle {@link Cue}s. */
public
final
class
SubtitleView
extends
FrameLayout
implements
TextOutput
{
public
final
class
SubtitleView
extends
FrameLayout
implements
Player
.
Listener
{
/**
/**
* An output for displaying subtitles.
* An output for displaying subtitles.
...
...
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