mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +00:00
Add DefaultMediaCodecFactory.getCodecAdapter() method
Add protected method DefaultRenderersFactory.getCodecAdapter(), so that subclasses of DefaultRenderersFactory that override buildVideoRenderers() or buildAudioRenderers() can access the DefaultRenderersFactory codec adapter factory and pass it to MediaCodecRenderer instances they may create. #minor-release PiperOrigin-RevId: 407345431
This commit is contained in:
parent
bc3360e5d4
commit
5d2df83496
2 changed files with 18 additions and 2 deletions
|
|
@ -2,6 +2,13 @@
|
||||||
|
|
||||||
### dev-v2 (not yet released)
|
### dev-v2 (not yet released)
|
||||||
|
|
||||||
|
* Core Library:
|
||||||
|
* Add protected method `DefaultRenderersFactory.getCodecAdapterFactory()`
|
||||||
|
so that subclasses of `DefaultRenderersFactory` that override
|
||||||
|
`buildVideoRenderers()` or `buildAudioRenderers()` can access the codec
|
||||||
|
adapter factory and pass it to `MediaCodecRenderer` instances they
|
||||||
|
create.
|
||||||
|
|
||||||
### 2.16.0 (2021-11-04)
|
### 2.16.0 (2021-11-04)
|
||||||
|
|
||||||
* Core Library:
|
* Core Library:
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import com.google.android.exoplayer2.audio.DefaultAudioSink;
|
||||||
import com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain;
|
import com.google.android.exoplayer2.audio.DefaultAudioSink.DefaultAudioProcessorChain;
|
||||||
import com.google.android.exoplayer2.audio.MediaCodecAudioRenderer;
|
import com.google.android.exoplayer2.audio.MediaCodecAudioRenderer;
|
||||||
import com.google.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory;
|
import com.google.android.exoplayer2.mediacodec.DefaultMediaCodecAdapterFactory;
|
||||||
|
import com.google.android.exoplayer2.mediacodec.MediaCodecAdapter;
|
||||||
import com.google.android.exoplayer2.mediacodec.MediaCodecSelector;
|
import com.google.android.exoplayer2.mediacodec.MediaCodecSelector;
|
||||||
import com.google.android.exoplayer2.metadata.MetadataOutput;
|
import com.google.android.exoplayer2.metadata.MetadataOutput;
|
||||||
import com.google.android.exoplayer2.metadata.MetadataRenderer;
|
import com.google.android.exoplayer2.metadata.MetadataRenderer;
|
||||||
|
|
@ -368,7 +369,7 @@ public class DefaultRenderersFactory implements RenderersFactory {
|
||||||
MediaCodecVideoRenderer videoRenderer =
|
MediaCodecVideoRenderer videoRenderer =
|
||||||
new MediaCodecVideoRenderer(
|
new MediaCodecVideoRenderer(
|
||||||
context,
|
context,
|
||||||
codecAdapterFactory,
|
getCodecAdapterFactory(),
|
||||||
mediaCodecSelector,
|
mediaCodecSelector,
|
||||||
allowedVideoJoiningTimeMs,
|
allowedVideoJoiningTimeMs,
|
||||||
enableDecoderFallback,
|
enableDecoderFallback,
|
||||||
|
|
@ -488,7 +489,7 @@ public class DefaultRenderersFactory implements RenderersFactory {
|
||||||
MediaCodecAudioRenderer audioRenderer =
|
MediaCodecAudioRenderer audioRenderer =
|
||||||
new MediaCodecAudioRenderer(
|
new MediaCodecAudioRenderer(
|
||||||
context,
|
context,
|
||||||
codecAdapterFactory,
|
getCodecAdapterFactory(),
|
||||||
mediaCodecSelector,
|
mediaCodecSelector,
|
||||||
enableDecoderFallback,
|
enableDecoderFallback,
|
||||||
eventHandler,
|
eventHandler,
|
||||||
|
|
@ -655,4 +656,12 @@ public class DefaultRenderersFactory implements RenderersFactory {
|
||||||
? DefaultAudioSink.OFFLOAD_MODE_ENABLED_GAPLESS_REQUIRED
|
? DefaultAudioSink.OFFLOAD_MODE_ENABLED_GAPLESS_REQUIRED
|
||||||
: DefaultAudioSink.OFFLOAD_MODE_DISABLED);
|
: DefaultAudioSink.OFFLOAD_MODE_DISABLED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the {@link MediaCodecAdapter.Factory} that will be used when creating {@link
|
||||||
|
* com.google.android.exoplayer2.mediacodec.MediaCodecRenderer} instances.
|
||||||
|
*/
|
||||||
|
protected MediaCodecAdapter.Factory getCodecAdapterFactory() {
|
||||||
|
return codecAdapterFactory;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue