From e8fd3025e31e745c41dd65f8dac8445abc4caf5b Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Fri, 12 Jun 2015 17:45:27 +0100 Subject: [PATCH] Fix propagation of sample encryption key for webm --- .../android/exoplayer/extractor/webm/WebmExtractor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java b/library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java index e5b1f6b56a..a63ad5d13d 100644 --- a/library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java +++ b/library/src/main/java/com/google/android/exoplayer/extractor/webm/WebmExtractor.java @@ -168,6 +168,7 @@ public final class WebmExtractor implements Extractor { private int sampleCurrentNalBytesRemaining; private int sampleTrackNumber; private int sampleFlags; + private byte[] sampleEncryptionKeyId; private long sampleTimeUs; private boolean sampleRead; private boolean sampleSeenReferenceBlock; @@ -608,6 +609,7 @@ public final class WebmExtractor implements Extractor { sampleFlags = (isKeyframe ? C.SAMPLE_FLAG_SYNC : 0) | (isInvisible ? C.SAMPLE_FLAG_DECODE_ONLY : 0) | (isEncrypted ? C.SAMPLE_FLAG_ENCRYPTED : 0); + sampleEncryptionKeyId = sampleTrackFormat.encryptionKeyId; sampleSize = contentSize - blockBytesRead; if (isEncrypted) { // Write the vector size. @@ -682,7 +684,7 @@ public final class WebmExtractor implements Extractor { } private void outputSampleMetadata(TrackOutput trackOutput) { - trackOutput.sampleMetadata(sampleTimeUs, sampleFlags, sampleSize, 0, null); + trackOutput.sampleMetadata(sampleTimeUs, sampleFlags, sampleSize, 0, sampleEncryptionKeyId); sampleState = SAMPLE_STATE_START; sampleRead = true; }