Expose getMetrics() in ExoV1 and ExoV2 FrameworkMediaDrm classes.

PiperOrigin-RevId: 278054214
This commit is contained in:
olly 2019-11-02 03:46:19 +00:00 committed by Oliver Woodman
parent 922991da88
commit 7e070683a3
3 changed files with 27 additions and 0 deletions

View file

@ -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<T extends ExoMediaCrypto> implements ExoMedi
throw new IllegalStateException();
}
@Override
@Nullable
public PersistableBundle getMetrics() {
return null;
}
@Override
public String getPropertyString(String propertyName) {
return "";

View file

@ -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<T extends ExoMediaCrypto> {
*/
void restoreKeys(byte[] sessionId, byte[] keySetId);
/**
* Returns drm metrics. May be null if unavailable.
*
* @see MediaDrm#getMetrics()
*/
@Nullable
PersistableBundle getMetrics();
/**
* @see MediaDrm#getPropertyString(String)
*/

View file

@ -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<FrameworkMediaCrypto
mediaDrm.restoreKeys(sessionId, keySetId);
}
@Override
@Nullable
@TargetApi(28)
public PersistableBundle getMetrics() {
if (Util.SDK_INT < 28) {
return null;
}
return mediaDrm.getMetrics();
}
@Override
public String getPropertyString(String propertyName) {
return mediaDrm.getPropertyString(propertyName);