Add test for DrmInitData indexed access methods
Bug: 147308781
Bug: 152617408
Bug: 152617438
Test: CTS.
Change-Id: I818153f0ecd4adaa3d9d6271142c9354c5727e1c
diff --git a/tests/tests/media/src/android/media/cts/MediaExtractorTest.java b/tests/tests/media/src/android/media/cts/MediaExtractorTest.java
index 01a39bf..04e5a5c 100644
--- a/tests/tests/media/src/android/media/cts/MediaExtractorTest.java
+++ b/tests/tests/media/src/android/media/cts/MediaExtractorTest.java
@@ -23,6 +23,7 @@
import android.icu.util.ULocale;
import android.media.AudioFormat;
import android.media.AudioPresentation;
+import android.media.DrmInitData;
import android.media.MediaCodec;
import android.media.MediaCodecInfo;
import android.media.MediaDataSource;
@@ -53,10 +54,13 @@
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
+import java.util.UUID;
public class MediaExtractorTest extends AndroidTestCase {
private static final String TAG = "MediaExtractorTest";
+ private static final UUID UUID_WIDEVINE = new UUID(0xEDEF8BA979D64ACEL, 0xA3C827DCD51D21EDL);
+ private static final UUID UUID_PLAYREADY = new UUID(0x9A04F07998404286L, 0xAB92E65BE0885F95L);
protected Resources mResources;
protected MediaExtractor mExtractor;
@@ -371,6 +375,16 @@
assertEquals("video/av01", mimeType);
}
+ public void testGetDrmInitData() throws Exception {
+ setDataSource(R.raw.psshtest);
+ DrmInitData drmInitData = mExtractor.getDrmInitData();
+ assertEquals(drmInitData.getSchemeInitDataCount(), 2);
+ assertEquals(drmInitData.getSchemeInitDataAt(0).uuid, UUID_WIDEVINE);
+ assertEquals(drmInitData.get(UUID_WIDEVINE), drmInitData.getSchemeInitDataAt(0));
+ assertEquals(drmInitData.getSchemeInitDataAt(1).uuid, UUID_PLAYREADY);
+ assertEquals(drmInitData.get(UUID_PLAYREADY), drmInitData.getSchemeInitDataAt(1));
+ }
+
private void checkExtractorSamplesAndMetrics() {
// 1MB is enough for any sample.
final ByteBuffer buf = ByteBuffer.allocate(1024*1024);