Commit 041a0696 by bachinger Committed by Oliver Woodman

remove UriBundle

PiperOrigin-RevId: 299361095
parent 26d3914e
...@@ -489,7 +489,9 @@ public class PlayerActivity extends AppCompatActivity ...@@ -489,7 +489,9 @@ public class PlayerActivity extends AppCompatActivity
return null; return null;
} }
builder builder
.setDrmLicenseUri(createLicenseUriBundle(parameters.drmInfo)) .setDrmLicenseUri(parameters.drmInfo.drmLicenseUrl)
.setDrmLicenseRequestHeaders(
createLicenseHeaders(parameters.drmInfo.drmKeyRequestProperties))
.setDrmUuid(parameters.drmInfo.drmScheme) .setDrmUuid(parameters.drmInfo.drmScheme)
.setDrmMultiSession(parameters.drmInfo.drmMultiSession); .setDrmMultiSession(parameters.drmInfo.drmMultiSession);
drmSessionForClearTypes = parameters.drmInfo.drmSessionForClearTypes; drmSessionForClearTypes = parameters.drmInfo.drmSessionForClearTypes;
...@@ -509,16 +511,16 @@ public class PlayerActivity extends AppCompatActivity ...@@ -509,16 +511,16 @@ public class PlayerActivity extends AppCompatActivity
.createMediaSource(builder.build()); .createMediaSource(builder.build());
} }
private static MediaItem.UriBundle createLicenseUriBundle(Sample.DrmInfo drmInfo) { @Nullable
Uri licenseUri = Uri.parse(drmInfo.drmLicenseUrl); private Map<String, String> createLicenseHeaders(@Nullable String[] drmKeyRequestProperties) {
if (drmInfo.drmKeyRequestProperties == null || drmInfo.drmKeyRequestProperties.length == 0) { if (drmKeyRequestProperties == null || drmKeyRequestProperties.length == 0) {
return new MediaItem.UriBundle(licenseUri); return null;
} }
Map<String, String> headers = new HashMap<>(); Map<String, String> headers = new HashMap<>();
for (int i = 0; i < drmInfo.drmKeyRequestProperties.length; i += 2) { for (int i = 0; i < drmKeyRequestProperties.length; i += 2) {
headers.put(drmInfo.drmKeyRequestProperties[i], drmInfo.drmKeyRequestProperties[i + 1]); headers.put(drmKeyRequestProperties[i], drmKeyRequestProperties[i + 1]);
} }
return new MediaItem.UriBundle(licenseUri, headers); return headers;
} }
private void releasePlayer() { private void releasePlayer() {
......
...@@ -280,9 +280,8 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { ...@@ -280,9 +280,8 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory {
private MediaDrmCallback createHttpMediaDrmCallback(MediaItem.DrmConfiguration drmConfiguration) { private MediaDrmCallback createHttpMediaDrmCallback(MediaItem.DrmConfiguration drmConfiguration) {
Assertions.checkNotNull(drmConfiguration.licenseUri); Assertions.checkNotNull(drmConfiguration.licenseUri);
HttpMediaDrmCallback drmCallback = HttpMediaDrmCallback drmCallback =
new HttpMediaDrmCallback( new HttpMediaDrmCallback(drmConfiguration.licenseUri.toString(), drmHttpDataSourceFactory);
drmConfiguration.licenseUri.uri.toString(), drmHttpDataSourceFactory); for (Map.Entry<String, String> entry : drmConfiguration.requestHeaders.entrySet()) {
for (Map.Entry<String, String> entry : drmConfiguration.licenseUri.requestHeaders.entrySet()) {
drmCallback.setKeyRequestProperty(entry.getKey(), entry.getValue()); drmCallback.setKeyRequestProperty(entry.getKey(), entry.getValue());
} }
return drmCallback; return drmCallback;
......
...@@ -22,7 +22,9 @@ import android.net.Uri; ...@@ -22,7 +22,9 @@ import android.net.Uri;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.android.exoplayer2.offline.StreamKey; import com.google.android.exoplayer2.offline.StreamKey;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
...@@ -79,19 +81,23 @@ public class MediaItemTest { ...@@ -79,19 +81,23 @@ public class MediaItemTest {
@Test @Test
public void builderSetDrmConfig_setsAllProperties() { public void builderSetDrmConfig_setsAllProperties() {
MediaItem.UriBundle licenseUri = new MediaItem.UriBundle(Uri.parse(URI_STRING)); Uri licenseUri = Uri.parse(URI_STRING);
Map<String, String> requestHeaders = new HashMap<>();
requestHeaders.put("Referer", "http://www.google.com");
MediaItem mediaItem = MediaItem mediaItem =
new MediaItem.Builder() new MediaItem.Builder()
.setSourceUri(URI_STRING) .setSourceUri(URI_STRING)
.setDrmUuid(C.WIDEVINE_UUID) .setDrmUuid(C.WIDEVINE_UUID)
.setDrmLicenseUri(licenseUri) .setDrmLicenseUri(licenseUri)
.setDrmLicenseRequestHeaders(requestHeaders)
.setDrmMultiSession(/* multiSession= */ true) .setDrmMultiSession(/* multiSession= */ true)
.build(); .build();
assertThat(mediaItem.playbackProperties.drmConfiguration).isNotNull(); assertThat(mediaItem.playbackProperties.drmConfiguration).isNotNull();
assertThat(mediaItem.playbackProperties.drmConfiguration.uuid).isEqualTo(C.WIDEVINE_UUID); assertThat(mediaItem.playbackProperties.drmConfiguration.uuid).isEqualTo(C.WIDEVINE_UUID);
assertThat(mediaItem.playbackProperties.drmConfiguration.licenseUri).isEqualTo(licenseUri); assertThat(mediaItem.playbackProperties.drmConfiguration.licenseUri).isEqualTo(licenseUri);
assertThat(mediaItem.playbackProperties.drmConfiguration.requestHeaders)
.isEqualTo(requestHeaders);
assertThat(mediaItem.playbackProperties.drmConfiguration.multiSession).isTrue(); assertThat(mediaItem.playbackProperties.drmConfiguration.multiSession).isTrue();
} }
...@@ -103,7 +109,7 @@ public class MediaItemTest { ...@@ -103,7 +109,7 @@ public class MediaItemTest {
new MediaItem.Builder() new MediaItem.Builder()
.setSourceUri(URI_STRING) .setSourceUri(URI_STRING)
// missing uuid // missing uuid
.setDrmLicenseUri(new MediaItem.UriBundle(Uri.parse(URI_STRING))) .setDrmLicenseUri(Uri.parse(URI_STRING))
.build()); .build());
} }
......
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