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
743b33e8
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 VideoListener
NO_EXTERNAL PiperOrigin-RevId: 390614839
parent
a4487848
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
31 additions
and
130 deletions
RELEASENOTES.md
library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java
library/common/src/main/java/com/google/android/exoplayer2/Player.java
library/common/src/main/java/com/google/android/exoplayer2/video/VideoListener.java
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
RELEASENOTES.md
View file @
743b33e8
...
...
@@ -31,6 +31,8 @@
Use
`Player.addListener`
and
`Player.Listener`
instead.
*
Remove
`SimpleExoPlayer.addAudioListener`
,
`removeAudioListener`
and
`AudioListener`
. Use
`Player.addListener`
and
`Player.Listener`
instead.
*
Remove
`SimpleExoPlayer.addVideoListener`
,
`removeVideoListener`
and
`VideoListener`
. Use
`Player.addListener`
and
`Player.Listener`
instead.
### 2.15.0 (2021-08-10)
...
...
library/common/src/main/java/com/google/android/exoplayer2/ForwardingPlayer.java
View file @
743b33e8
...
...
@@ -802,21 +802,12 @@ public class ForwardingPlayer implements Player {
this
.
listener
=
listener
;
}
// VideoListener methods.
@Override
public
void
onVideoSizeChanged
(
VideoSize
videoSize
)
{
listener
.
onVideoSizeChanged
(
videoSize
);
}
@Override
@SuppressWarnings
(
"deprecation"
)
// Forwarding to deprecated method.
public
void
onVideoSizeChanged
(
int
width
,
int
height
,
int
unappliedRotationDegrees
,
float
pixelWidthHeightRatio
)
{
listener
.
onVideoSizeChanged
(
width
,
height
,
unappliedRotationDegrees
,
pixelWidthHeightRatio
);
}
@Override
public
void
onSurfaceSizeChanged
(
int
width
,
int
height
)
{
listener
.
onSurfaceSizeChanged
(
width
,
height
);
}
...
...
@@ -826,8 +817,6 @@ public class ForwardingPlayer implements Player {
listener
.
onRenderedFirstFrame
();
}
// AudioListener methods
@Override
public
void
onAudioSessionIdChanged
(
int
audioSessionId
)
{
listener
.
onAudioSessionIdChanged
(
audioSessionId
);
...
...
@@ -848,22 +837,16 @@ public class ForwardingPlayer implements Player {
listener
.
onSkipSilenceEnabledChanged
(
skipSilenceEnabled
);
}
// TextOutput methods.
@Override
public
void
onCues
(
List
<
Cue
>
cues
)
{
listener
.
onCues
(
cues
);
}
// MetadataOutput methods.
@Override
public
void
onMetadata
(
Metadata
metadata
)
{
listener
.
onMetadata
(
metadata
);
}
// DeviceListener callbacks
@Override
public
void
onDeviceInfoChanged
(
DeviceInfo
deviceInfo
)
{
listener
.
onDeviceInfoChanged
(
deviceInfo
);
...
...
library/common/src/main/java/com/google/android/exoplayer2/Player.java
View file @
743b33e8
...
...
@@ -32,7 +32,6 @@ import com.google.android.exoplayer2.trackselection.TrackSelection;
import
com.google.android.exoplayer2.trackselection.TrackSelectionArray
;
import
com.google.android.exoplayer2.util.FlagSet
;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.video.VideoListener
;
import
com.google.android.exoplayer2.video.VideoSize
;
import
com.google.common.base.Objects
;
import
java.lang.annotation.Documented
;
...
...
@@ -869,7 +868,7 @@ public interface Player {
*
* <p>All methods have no-op default implementations to allow selective overrides.
*/
interface
Listener
extends
VideoListener
,
TextOutput
,
EventListener
{
interface
Listener
extends
TextOutput
,
EventListener
{
@Override
default
void
onTimelineChanged
(
Timeline
timeline
,
@TimelineChangeReason
int
reason
)
{}
...
...
@@ -964,13 +963,28 @@ public interface Player {
@Override
default
void
onEvents
(
Player
player
,
Events
events
)
{}
@Override
/**
* Called each time there's a change in the size of the video being rendered.
*
* @param videoSize The new size of the video.
*/
default
void
onVideoSizeChanged
(
VideoSize
videoSize
)
{}
@Override
/**
* Called each time there's a change in the size of the surface onto which the video is being
* rendered.
*
* @param width The surface width in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if
* the video is not rendered onto a surface.
* @param height The surface height in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if
* the video is not rendered onto a surface.
*/
default
void
onSurfaceSizeChanged
(
int
width
,
int
height
)
{}
@Override
/**
* Called when a frame is rendered for the first time since setting the surface, or since the
* renderer was reset, or since the stream being rendered was changed.
*/
default
void
onRenderedFirstFrame
()
{}
@Override
...
...
library/common/src/main/java/com/google/android/exoplayer2/video/VideoListener.java
deleted
100644 → 0
View file @
a4487848
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
com
.
google
.
android
.
exoplayer2
.
video
;
import
com.google.android.exoplayer2.C
;
import
com.google.android.exoplayer2.Player
;
/**
* A listener for metadata corresponding to video being rendered.
*
* @deprecated Use {@link Player.Listener}.
*/
@Deprecated
public
interface
VideoListener
{
/**
* Called each time there's a change in the size of the video being rendered.
*
* @param videoSize The new size of the video.
*/
default
void
onVideoSizeChanged
(
VideoSize
videoSize
)
{}
/** @deprecated Use {@link #onVideoSizeChanged(VideoSize videoSize)}. */
@Deprecated
default
void
onVideoSizeChanged
(
int
width
,
int
height
,
int
unappliedRotationDegrees
,
float
pixelWidthHeightRatio
)
{}
/**
* Called each time there's a change in the size of the surface onto which the video is being
* rendered.
*
* @param width The surface width in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if the
* video is not rendered onto a surface.
* @param height The surface height in pixels. May be {@link C#LENGTH_UNSET} if unknown, or 0 if
* the video is not rendered onto a surface.
*/
default
void
onSurfaceSizeChanged
(
int
width
,
int
height
)
{}
/**
* Called when a frame is rendered for the first time since setting the surface, or since the
* renderer was reset, or since the stream being rendered was changed.
*/
default
void
onRenderedFirstFrame
()
{}
}
library/core/src/main/java/com/google/android/exoplayer2/ExoPlayer.java
View file @
743b33e8
...
...
@@ -53,7 +53,6 @@ import com.google.android.exoplayer2.util.PriorityTaskManager;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.video.MediaCodecVideoRenderer
;
import
com.google.android.exoplayer2.video.VideoFrameMetadataListener
;
import
com.google.android.exoplayer2.video.VideoListener
;
import
com.google.android.exoplayer2.video.VideoSize
;
import
com.google.android.exoplayer2.video.spherical.CameraMotionListener
;
import
java.util.List
;
...
...
@@ -254,24 +253,6 @@ public interface ExoPlayer extends Player {
int
getVideoChangeFrameRateStrategy
();
/**
* Adds a listener to receive video events.
*
* @param listener The listener to register.
* @deprecated Use {@link #addListener(Listener)}.
*/
@Deprecated
void
addVideoListener
(
VideoListener
listener
);
/**
* Removes a listener of video events.
*
* @param listener The listener to unregister.
* @deprecated Use {@link #removeListener(Listener)}.
*/
@Deprecated
void
removeVideoListener
(
VideoListener
listener
);
/**
* Sets a listener to receive video frame metadata events.
*
* <p>This method is intended to be called by the same component that sets the {@link Surface}
...
...
@@ -397,7 +378,7 @@ public interface ExoPlayer extends Player {
* <p>The width and height of size could be 0 if there is no video or the size has not been
* determined yet.
*
* @see Listener#onVideoSizeChanged(
int, int, int, float
)
* @see Listener#onVideoSizeChanged(
VideoSize
)
*/
VideoSize
getVideoSize
();
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
View file @
743b33e8
...
...
@@ -76,7 +76,6 @@ import com.google.android.exoplayer2.util.PriorityTaskManager;
import
com.google.android.exoplayer2.util.Util
;
import
com.google.android.exoplayer2.video.VideoDecoderOutputBufferRenderer
;
import
com.google.android.exoplayer2.video.VideoFrameMetadataListener
;
import
com.google.android.exoplayer2.video.VideoListener
;
import
com.google.android.exoplayer2.video.VideoRendererEventListener
;
import
com.google.android.exoplayer2.video.VideoSize
;
import
com.google.android.exoplayer2.video.spherical.CameraMotionListener
;
...
...
@@ -425,7 +424,6 @@ public class SimpleExoPlayer extends BasePlayer
private
final
ExoPlayerImpl
player
;
private
final
ComponentListener
componentListener
;
private
final
FrameMetadataListener
frameMetadataListener
;
private
final
CopyOnWriteArraySet
<
VideoListener
>
videoListeners
;
private
final
CopyOnWriteArraySet
<
TextOutput
>
textOutputs
;
private
final
CopyOnWriteArraySet
<
Listener
>
listeners
;
private
final
AnalyticsCollector
analyticsCollector
;
...
...
@@ -507,7 +505,6 @@ public class SimpleExoPlayer extends BasePlayer
detachSurfaceTimeoutMs
=
builder
.
detachSurfaceTimeoutMs
;
componentListener
=
new
ComponentListener
();
frameMetadataListener
=
new
FrameMetadataListener
();
videoListeners
=
new
CopyOnWriteArraySet
<>();
textOutputs
=
new
CopyOnWriteArraySet
<>();
listeners
=
new
CopyOnWriteArraySet
<>();
Handler
eventHandler
=
new
Handler
(
builder
.
looper
);
...
...
@@ -1001,21 +998,6 @@ public class SimpleExoPlayer extends BasePlayer
return
audioDecoderCounters
;
}
@Deprecated
@Override
public
void
addVideoListener
(
VideoListener
listener
)
{
// Don't verify application thread. We allow calls to this method from any thread.
Assertions
.
checkNotNull
(
listener
);
videoListeners
.
add
(
listener
);
}
@Deprecated
@Override
public
void
removeVideoListener
(
VideoListener
listener
)
{
// Don't verify application thread. We allow calls to this method from any thread.
videoListeners
.
remove
(
listener
);
}
@Override
public
void
setVideoFrameMetadataListener
(
VideoFrameMetadataListener
listener
)
{
verifyApplicationThread
();
...
...
@@ -1105,7 +1087,6 @@ public class SimpleExoPlayer extends BasePlayer
@Override
public
void
addListener
(
Listener
listener
)
{
Assertions
.
checkNotNull
(
listener
);
addVideoListener
(
listener
);
addTextOutput
(
listener
);
listeners
.
add
(
listener
);
EventListener
eventListener
=
listener
;
...
...
@@ -1123,7 +1104,6 @@ public class SimpleExoPlayer extends BasePlayer
@Override
public
void
removeListener
(
Listener
listener
)
{
Assertions
.
checkNotNull
(
listener
);
removeVideoListener
(
listener
);
removeTextOutput
(
listener
);
listeners
.
remove
(
listener
);
EventListener
eventListener
=
listener
;
...
...
@@ -1796,8 +1776,9 @@ public class SimpleExoPlayer extends BasePlayer
surfaceWidth
=
width
;
surfaceHeight
=
height
;
analyticsCollector
.
onSurfaceSizeChanged
(
width
,
height
);
for
(
VideoListener
videoListener
:
videoListeners
)
{
videoListener
.
onSurfaceSizeChanged
(
width
,
height
);
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
for
(
Listener
listener
:
listeners
)
{
listener
.
onSurfaceSizeChanged
(
width
,
height
);
}
}
}
...
...
@@ -1969,13 +1950,9 @@ public class SimpleExoPlayer extends BasePlayer
public
void
onVideoSizeChanged
(
VideoSize
videoSize
)
{
SimpleExoPlayer
.
this
.
videoSize
=
videoSize
;
analyticsCollector
.
onVideoSizeChanged
(
videoSize
);
for
(
VideoListener
videoListener
:
videoListeners
)
{
videoListener
.
onVideoSizeChanged
(
videoSize
);
videoListener
.
onVideoSizeChanged
(
videoSize
.
width
,
videoSize
.
height
,
videoSize
.
unappliedRotationDegrees
,
videoSize
.
pixelWidthHeightRatio
);
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
for
(
Listener
listener
:
listeners
)
{
listener
.
onVideoSizeChanged
(
videoSize
);
}
}
...
...
@@ -1983,8 +1960,9 @@ public class SimpleExoPlayer extends BasePlayer
public
void
onRenderedFirstFrame
(
Object
output
,
long
renderTimeMs
)
{
analyticsCollector
.
onRenderedFirstFrame
(
output
,
renderTimeMs
);
if
(
videoOutput
==
output
)
{
for
(
VideoListener
videoListener
:
videoListeners
)
{
videoListener
.
onRenderedFirstFrame
();
// TODO(internal b/187152483): Events should be dispatched via ListenerSet
for
(
Listener
listener
:
listeners
)
{
listener
.
onRenderedFirstFrame
();
}
}
}
...
...
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