From 7e070683a38c96e2f55a305650765e300d8a6121 Mon Sep 17 00:00:00 2001 From: olly Date: Sat, 2 Nov 2019 03:46:19 +0000 Subject: [PATCH] Expose getMetrics() in ExoV1 and ExoV2 FrameworkMediaDrm classes. PiperOrigin-RevId: 278054214 --- .../android/exoplayer2/drm/DummyExoMediaDrm.java | 7 +++++++ .../google/android/exoplayer2/drm/ExoMediaDrm.java | 9 +++++++++ .../android/exoplayer2/drm/FrameworkMediaDrm.java | 11 +++++++++++ 3 files changed, 27 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DummyExoMediaDrm.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DummyExoMediaDrm.java index f7b24cf251..b619d9486f 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DummyExoMediaDrm.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DummyExoMediaDrm.java @@ -16,6 +16,7 @@ package com.google.android.exoplayer2.drm; import android.media.MediaDrmException; +import android.os.PersistableBundle; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import com.google.android.exoplayer2.util.Util; @@ -104,6 +105,12 @@ public final class DummyExoMediaDrm implements ExoMedi throw new IllegalStateException(); } + @Override + @Nullable + public PersistableBundle getMetrics() { + return null; + } + @Override public String getPropertyString(String propertyName) { return ""; diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java index 9846a76328..1d0e15e81c 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/ExoMediaDrm.java @@ -21,6 +21,7 @@ import android.media.MediaDrm; import android.media.MediaDrmException; import android.media.NotProvisionedException; import android.os.Handler; +import android.os.PersistableBundle; import androidx.annotation.Nullable; import com.google.android.exoplayer2.drm.DrmInitData.SchemeData; import java.util.HashMap; @@ -287,6 +288,14 @@ public interface ExoMediaDrm { */ void restoreKeys(byte[] sessionId, byte[] keySetId); + /** + * Returns drm metrics. May be null if unavailable. + * + * @see MediaDrm#getMetrics() + */ + @Nullable + PersistableBundle getMetrics(); + /** * @see MediaDrm#getPropertyString(String) */ diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java index e7853e0a0b..d040552638 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/FrameworkMediaDrm.java @@ -23,6 +23,7 @@ import android.media.MediaDrm; import android.media.MediaDrmException; import android.media.NotProvisionedException; import android.media.UnsupportedSchemeException; +import android.os.PersistableBundle; import android.text.TextUtils; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -225,6 +226,16 @@ public final class FrameworkMediaDrm implements ExoMediaDrm