Merge "Fix MediaExtractor.getDrmInitData implementation for webm" into nyc-dev

am: 5bf198c

* commit '5bf198c3806c611fceb3d6d373883ed8f11a37fc':
  Fix MediaExtractor.getDrmInitData implementation for webm

Change-Id: I46d4b3a1b17bd11f209a4f9fa150c1d38bb55592
This commit is contained in:
Robert Shih
2016-04-04 17:18:25 +00:00
committed by android-build-merger

View File

@@ -275,16 +275,23 @@ final public class MediaExtractor {
return initDataMap.get(schemeUuid);
}
};
} else if (formatMap.containsKey("crypto-key")) {
ByteBuffer buf = (ByteBuffer) formatMap.get("crypto-key");
buf.rewind();
final byte[] data = new byte[buf.remaining()];
buf.get(data);
return new DrmInitData() {
public SchemeInitData get(UUID schemeUuid) {
return new DrmInitData.SchemeInitData("webm", data);
} else {
int numTracks = getTrackCount();
for (int i = 0; i < numTracks; ++i) {
Map<String, Object> trackFormatMap = getTrackFormatNative(i);
if (!trackFormatMap.containsKey("crypto-key")) {
continue;
}
};
ByteBuffer buf = (ByteBuffer) trackFormatMap.get("crypto-key");
buf.rewind();
final byte[] data = new byte[buf.remaining()];
buf.get(data);
return new DrmInitData() {
public SchemeInitData get(UUID schemeUuid) {
return new DrmInitData.SchemeInitData("webm", data);
}
};
}
}
return null;
}