diff --git a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java index 5e3d31eb2a..8c37621074 100644 --- a/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +++ b/android/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java @@ -108,7 +108,7 @@ import com.npaw.youbora.lib6.exoplayer2.Exoplayer2Adapter; import com.npaw.youbora.lib6.plugin.Options; import com.npaw.youbora.lib6.plugin.Plugin; - +import android.media.MediaDrm; import java.io.IOException; import com.google.common.collect.ImmutableList; @@ -250,6 +250,7 @@ class ReactExoplayerView extends FrameLayout implements private long lastPos = -1; private long lastBufferDuration = -1; private long lastDuration = -1; + private int hdcp = 0; private final Handler progressHandler = new Handler(Looper.getMainLooper()) { @Override @@ -393,7 +394,7 @@ public void onBandwidthSample(int elapsedMs, long bytes, long bitrate) { int width = videoFormat != null ? videoFormat.width : 0; int height = videoFormat != null ? videoFormat.height : 0; String trackId = videoFormat != null ? videoFormat.id : "-1"; - eventEmitter.bandwidthReport(bitrate, height, width, trackId); + eventEmitter.bandwidthReport(bitrate, height, width, String.valueOf(hdcp)); } } } @@ -843,6 +844,9 @@ private DrmSessionManager buildDrmSessionManager(UUID uuid, String licenseUrl, S HttpMediaDrmCallback drmCallback = new HttpMediaDrmCallback(licenseUrl, buildHttpDataSourceFactory(false)); FrameworkMediaDrm mediaDrm = FrameworkMediaDrm.newInstance(uuid); + try (MediaDrm mediaDrmTemp = new MediaDrm(uuid)) { + hdcp = mediaDrmTemp.getConnectedHdcpLevel(); + } if (keyRequestPropertiesArray != null) { for (int i = 0; i < keyRequestPropertiesArray.length - 1; i += 2) { drmCallback.setKeyRequestProperty(keyRequestPropertiesArray[i], keyRequestPropertiesArray[i + 1]);