mirror of
https://github.com/androidx/media.git
synced 2025-04-29 22:36:54 +08:00
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:
parent
21514ba8e8
commit
9cc7dd0dbe
@ -62,7 +62,7 @@ public final class DefaultAudioOffloadSupportProvider
|
|||||||
* offload variable rate support.
|
* offload variable rate support.
|
||||||
*/
|
*/
|
||||||
public DefaultAudioOffloadSupportProvider(@Nullable Context context) {
|
public DefaultAudioOffloadSupportProvider(@Nullable Context context) {
|
||||||
this.context = context;
|
this.context = context == null ? null : context.getApplicationContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -592,7 +592,7 @@ public final class DefaultAudioSink implements AudioSink {
|
|||||||
|
|
||||||
@RequiresNonNull("#1.audioProcessorChain")
|
@RequiresNonNull("#1.audioProcessorChain")
|
||||||
private DefaultAudioSink(Builder builder) {
|
private DefaultAudioSink(Builder builder) {
|
||||||
context = builder.context;
|
context = builder.context == null ? null : builder.context.getApplicationContext();
|
||||||
audioAttributes = AudioAttributes.DEFAULT;
|
audioAttributes = AudioAttributes.DEFAULT;
|
||||||
audioCapabilities = context != null ? null : builder.audioCapabilities;
|
audioCapabilities = context != null ? null : builder.audioCapabilities;
|
||||||
audioProcessorChain = builder.audioProcessorChain;
|
audioProcessorChain = builder.audioProcessorChain;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user