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

This commit is contained in:
Robert Shih
2016-04-04 17:09:43 +00:00
committed by Android (Google) Code Review

View File

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