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
d1d28a41
authored
Jan 06, 2021
by
olly
Committed by
Ian Baker
Jan 07, 2021
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Propagate audio session ID to MediaCodecVideoRenderer
Issue: #8190 PiperOrigin-RevId: 350357825
parent
aa2beb08
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
15 deletions
library/core/src/main/java/com/google/android/exoplayer2/Renderer.java
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java
library/core/src/main/java/com/google/android/exoplayer2/Renderer.java
View file @
d1d28a41
...
...
@@ -160,13 +160,14 @@ public interface Renderer extends PlayerMessage.Target {
*/
int
MSG_SET_SKIP_SILENCE_ENABLED
=
101
;
/**
*
A type of a message that can be passed to an audio renderer
via {@link
*
The type of a message that can be passed to audio and video renderers
via {@link
* ExoPlayer#createMessage(Target)}. The message payload should be an {@link Integer} instance
* representing the audio session ID that will be attached to the underlying audio track.
* representing the audio session ID that will be attached to the underlying audio track. Video
* renderers that support tunneling will use the audio session ID when tunneling is enabled.
*/
int
MSG_SET_AUDIO_SESSION_ID
=
102
;
/**
*
A
type of a message that can be passed to a {@link Renderer} via {@link
*
The
type of a message that can be passed to a {@link Renderer} via {@link
* ExoPlayer#createMessage(Target)}, to inform the renderer that it can schedule waking up another
* component.
*
...
...
library/core/src/main/java/com/google/android/exoplayer2/SimpleExoPlayer.java
View file @
d1d28a41
...
...
@@ -962,6 +962,7 @@ public class SimpleExoPlayer extends BasePlayer
}
this
.
audioSessionId
=
audioSessionId
;
sendRendererMessage
(
C
.
TRACK_TYPE_AUDIO
,
Renderer
.
MSG_SET_AUDIO_SESSION_ID
,
audioSessionId
);
sendRendererMessage
(
C
.
TRACK_TYPE_VIDEO
,
Renderer
.
MSG_SET_AUDIO_SESSION_ID
,
audioSessionId
);
if
(
audioSessionId
!=
C
.
AUDIO_SESSION_ID_UNSET
)
{
notifyAudioSessionIdSet
();
}
...
...
library/core/src/main/java/com/google/android/exoplayer2/video/MediaCodecVideoRenderer.java
View file @
d1d28a41
...
...
@@ -501,18 +501,25 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer {
@Override
public
void
handleMessage
(
int
messageType
,
@Nullable
Object
message
)
throws
ExoPlaybackException
{
if
(
messageType
==
MSG_SET_SURFACE
)
{
setSurface
((
Surface
)
message
);
}
else
if
(
messageType
==
MSG_SET_SCALING_MODE
)
{
scalingMode
=
(
Integer
)
message
;
@Nullable
MediaCodecAdapter
codec
=
getCodec
();
if
(
codec
!=
null
)
{
codec
.
setVideoScalingMode
(
scalingMode
);
}
}
else
if
(
messageType
==
MSG_SET_VIDEO_FRAME_METADATA_LISTENER
)
{
frameMetadataListener
=
(
VideoFrameMetadataListener
)
message
;
}
else
{
super
.
handleMessage
(
messageType
,
message
);
switch
(
messageType
)
{
case
MSG_SET_SURFACE:
setSurface
((
Surface
)
message
);
break
;
case
MSG_SET_SCALING_MODE:
scalingMode
=
(
Integer
)
message
;
@Nullable
MediaCodecAdapter
codec
=
getCodec
();
if
(
codec
!=
null
)
{
codec
.
setVideoScalingMode
(
scalingMode
);
}
break
;
case
MSG_SET_VIDEO_FRAME_METADATA_LISTENER:
frameMetadataListener
=
(
VideoFrameMetadataListener
)
message
;
break
;
case
MSG_SET_AUDIO_SESSION_ID:
// TODO: Set tunnelingAudioSessionId.
break
;
default
:
super
.
handleMessage
(
messageType
,
message
);
}
}
...
...
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