Commit 7e070683 by olly Committed by Oliver Woodman

Expose getMetrics() in ExoV1 and ExoV2 FrameworkMediaDrm classes.

PiperOrigin-RevId: 278054214
parent 922991da
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package com.google.android.exoplayer2.drm; package com.google.android.exoplayer2.drm;
import android.media.MediaDrmException; import android.media.MediaDrmException;
import android.os.PersistableBundle;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import com.google.android.exoplayer2.util.Util; import com.google.android.exoplayer2.util.Util;
...@@ -105,6 +106,12 @@ public final class DummyExoMediaDrm<T extends ExoMediaCrypto> implements ExoMedi ...@@ -105,6 +106,12 @@ public final class DummyExoMediaDrm<T extends ExoMediaCrypto> implements ExoMedi
} }
@Override @Override
@Nullable
public PersistableBundle getMetrics() {
return null;
}
@Override
public String getPropertyString(String propertyName) { public String getPropertyString(String propertyName) {
return ""; return "";
} }
......
...@@ -21,6 +21,7 @@ import android.media.MediaDrm; ...@@ -21,6 +21,7 @@ import android.media.MediaDrm;
import android.media.MediaDrmException; import android.media.MediaDrmException;
import android.media.NotProvisionedException; import android.media.NotProvisionedException;
import android.os.Handler; import android.os.Handler;
import android.os.PersistableBundle;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.drm.DrmInitData.SchemeData; import com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
import java.util.HashMap; import java.util.HashMap;
...@@ -288,6 +289,14 @@ public interface ExoMediaDrm<T extends ExoMediaCrypto> { ...@@ -288,6 +289,14 @@ public interface ExoMediaDrm<T extends ExoMediaCrypto> {
void restoreKeys(byte[] sessionId, byte[] keySetId); void restoreKeys(byte[] sessionId, byte[] keySetId);
/** /**
* Returns drm metrics. May be null if unavailable.
*
* @see MediaDrm#getMetrics()
*/
@Nullable
PersistableBundle getMetrics();
/**
* @see MediaDrm#getPropertyString(String) * @see MediaDrm#getPropertyString(String)
*/ */
String getPropertyString(String propertyName); String getPropertyString(String propertyName);
......
...@@ -23,6 +23,7 @@ import android.media.MediaDrm; ...@@ -23,6 +23,7 @@ import android.media.MediaDrm;
import android.media.MediaDrmException; import android.media.MediaDrmException;
import android.media.NotProvisionedException; import android.media.NotProvisionedException;
import android.media.UnsupportedSchemeException; import android.media.UnsupportedSchemeException;
import android.os.PersistableBundle;
import android.text.TextUtils; import android.text.TextUtils;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi; import androidx.annotation.RequiresApi;
...@@ -226,6 +227,16 @@ public final class FrameworkMediaDrm implements ExoMediaDrm<FrameworkMediaCrypto ...@@ -226,6 +227,16 @@ public final class FrameworkMediaDrm implements ExoMediaDrm<FrameworkMediaCrypto
} }
@Override @Override
@Nullable
@TargetApi(28)
public PersistableBundle getMetrics() {
if (Util.SDK_INT < 28) {
return null;
}
return mediaDrm.getMetrics();
}
@Override
public String getPropertyString(String propertyName) { public String getPropertyString(String propertyName) {
return mediaDrm.getPropertyString(propertyName); return mediaDrm.getPropertyString(propertyName);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment