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
This commit is contained in:
tonihei 2025-04-15 05:37:58 -07:00 committed by Copybara-Service
parent 21514ba8e8
commit 9cc7dd0dbe
2 changed files with 2 additions and 2 deletions

View File

@ -62,7 +62,7 @@ public final class DefaultAudioOffloadSupportProvider
* offload variable rate support.
*/
public DefaultAudioOffloadSupportProvider(@Nullable Context context) {
this.context = context;
this.context = context == null ? null : context.getApplicationContext();
}
@Override

View File

@ -592,7 +592,7 @@ public final class DefaultAudioSink implements AudioSink {
@RequiresNonNull("#1.audioProcessorChain")
private DefaultAudioSink(Builder builder) {
context = builder.context;
context = builder.context == null ? null : builder.context.getApplicationContext();
audioAttributes = AudioAttributes.DEFAULT;
audioCapabilities = context != null ? null : builder.audioCapabilities;
audioProcessorChain = builder.audioProcessorChain;