Public feed #726577

Stuff

public text v1 · immutable
Raw Edit
·published 2007-10-05 10:35 UTC
rendered paste body
Index: libavformat/asf.c
===================================================================
--- libavformat/asf.c   (revision 10667)
+++ libavformat/asf.c   (working copy)
@@ -707,8 +707,22 @@
     return 0;
 }
 
+static uint8_t hexkey[20] = {
+  0x13, 0x73, 0x81, 0x53, 0x8c, 0x84, 0xc0, 0x68,
+  0x11, 0x19, 0x02, 0xa5, 0x9c, 0x5c, 0xf6, 0xc3,
+  0x40, 0x24, 0x7c, 0x39
+};
+
+static wchar_t base64key[] = {
+  'E', '3', 'O', 'B', 'U', '4', 'y', 'E', 'w', 'G', 'g', 'R', 'G',
+  'Q', 'K', 'l', 'n', 'F', 'z', '2', 'w', '0', 'A', 'k', 'f', 'D', 'k', '='
+};
+
+#include "msdrm.h"
+
 static int asf_read_packet(AVFormatContext *s, AVPacket *pkt)
 {
+CONTKEY key;
     ASFContext *asf = s->priv_data;
     ASFStream *asf_st = 0;
     ByteIOContext *pb = &s->pb;
@@ -823,6 +837,8 @@
 
         get_buffer(pb, asf_st->pkt.data + asf->packet_frag_offset,
                    asf->packet_frag_size);
+MSDRM_setup(1, base64key, &key);
+MSDRM_decr_packet(asf_st->pkt.data + asf->packet_frag_offset, asf->packet_frag_size, &key);
         asf_st->frag_offset += asf->packet_frag_size;
         /* test if whole packet is read */
         if (asf_st->frag_offset == asf_st->pkt.size) {