From 5d4fa335f98d11c41b5d1e46a4945225545836ce Mon Sep 17 00:00:00 2001 From: olly Date: Tue, 10 Oct 2017 12:40:02 -0700 Subject: [PATCH] Expose public constructors for FrameworkMediaCrypto MediaCodecRenderer implementations require DrmSessionManager, but it's currently not possible for an app to provide a custom implementation due to FrameworkMediaCrypto having a package private constructor. This change exposes public FrameworkMediaCrypto constructors, hence removing this restriction. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=171718853 --- .../exoplayer2/drm/FrameworkMediaCrypto.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.java index 5bee85f449..4e58ed6a31 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaCrypto.java @@ -28,12 +28,29 @@ public final class FrameworkMediaCrypto implements ExoMediaCrypto { private final MediaCrypto mediaCrypto; private final boolean forceAllowInsecureDecoderComponents; - /* package */ FrameworkMediaCrypto(MediaCrypto mediaCrypto, + /** + * @param mediaCrypto The {@link MediaCrypto} to wrap. + */ + public FrameworkMediaCrypto(MediaCrypto mediaCrypto) { + this(mediaCrypto, false); + } + + /** + * @param mediaCrypto The {@link MediaCrypto} to wrap. + * @param forceAllowInsecureDecoderComponents Whether to force + * {@link #requiresSecureDecoderComponent(String)} to return {@code false}, rather than + * {@link MediaCrypto#requiresSecureDecoderComponent(String)} of the wrapped + * {@link MediaCrypto}. + */ + public FrameworkMediaCrypto(MediaCrypto mediaCrypto, boolean forceAllowInsecureDecoderComponents) { this.mediaCrypto = Assertions.checkNotNull(mediaCrypto); this.forceAllowInsecureDecoderComponents = forceAllowInsecureDecoderComponents; } + /** + * Returns the wrapped {@link MediaCrypto}. + */ public MediaCrypto getWrappedMediaCrypto() { return mediaCrypto; }