Skip to content

Commit 9cc7dd0

Browse files
toniheicopybara-github
authored andcommitted
Ensure DefaultAudioSink doesn't store non-application Context
The Context is currently passed right down from ExoPlayer.Builder without ever converting it to the application context. This may cause memory leaks if a Player is kept across activities/service lifecycles. PiperOrigin-RevId: 747835487
1 parent 21514ba commit 9cc7dd0

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioOffloadSupportProvider.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public DefaultAudioOffloadSupportProvider() {
6262
* offload variable rate support.
6363
*/
6464
public DefaultAudioOffloadSupportProvider(@Nullable Context context) {
65-
this.context = context;
65+
this.context = context == null ? null : context.getApplicationContext();
6666
}
6767

6868
@Override

libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,7 @@ public DefaultAudioSink build() {
592592

593593
@RequiresNonNull("#1.audioProcessorChain")
594594
private DefaultAudioSink(Builder builder) {
595-
context = builder.context;
595+
context = builder.context == null ? null : builder.context.getApplicationContext();
596596
audioAttributes = AudioAttributes.DEFAULT;
597597
audioCapabilities = context != null ? null : builder.audioCapabilities;
598598
audioProcessorChain = builder.audioProcessorChain;

0 commit comments

Comments
 (0)