Index: libavformat/rtpdec.c
===================================================================
--- libavformat/rtpdec.c	(revision 24513)
+++ libavformat/rtpdec.c	(working copy)
@@ -75,6 +75,7 @@
 
     ff_register_dynamic_payload_handler(&ff_ms_rtp_asf_pfv_handler);
     ff_register_dynamic_payload_handler(&ff_ms_rtp_asf_pfa_handler);
+    ff_register_dynamic_payload_handler(&ff_ms_rtp_asf_wmt_handler);
 }
 
 static int rtcp_parse_packet(RTPDemuxContext *s, const unsigned char *buf, int len)
Index: libavformat/rtpdec_asf.c
===================================================================
--- libavformat/rtpdec_asf.c	(revision 24513)
+++ libavformat/rtpdec_asf.c	(working copy)
@@ -122,9 +122,36 @@
 static int asfrtp_parse_sdp_line(AVFormatContext *s, int stream_index,
                                  PayloadContext *asf, const char *line)
 {
-    if (av_strstart(line, "stream:", &line)) {
         RTSPState *rt = s->priv_data;
 
+if (av_strstart(line, "RawHeader:buffer;\"", &line)){
+ByteIOContext pb;
+int ret, len = strlen(line) * 6 / 8;
+char *buf = av_mallocz(len);
+len = av_base64_decode(buf, line, len);
+#undef printf
+
+        if (rtp_asf_fix_header(buf+8, len-8) < 0)
+            av_log(s, AV_LOG_ERROR,
+                   "Failed to fix invalid RTSP-MS/ASF min_pktsize\n");
+        init_packetizer(&pb, buf+8, len-8);
+        if (rt->asf_ctx) {
+            av_close_input_stream(rt->asf_ctx);
+            rt->asf_ctx = NULL;
+        }
+        ret = av_open_input_stream(&rt->asf_ctx, &pb, "", &asf_demuxer, NULL);
+        if (ret < 0)
+            return ret;
+        rt->asf_pb_pos = url_ftell(&pb);
+        av_free(buf);
+        rt->asf_ctx->pb = NULL;
+
+#undef printf
+int i;
+for (i = 0; i < rt->asf_ctx->nb_streams; i++)
+printf("Stream %d: codec 0x%x\n", i, rt->asf_ctx->streams[i]->codec->codec_id);
+}
+    if (av_strstart(line, "stream:", &line)) {
         s->streams[stream_index]->id = strtol(line, NULL, 10);
 
         if (rt->asf_ctx) {
@@ -290,3 +317,4 @@
 
 RTP_ASF_HANDLER(asf_pfv, "x-asf-pf",  AVMEDIA_TYPE_VIDEO);
 RTP_ASF_HANDLER(asf_pfa, "x-asf-pf",  AVMEDIA_TYPE_AUDIO);
+RTP_ASF_HANDLER(asf_wmt, "x-pn-wmt",  AVMEDIA_TYPE_DATA);
Index: libavformat/rtpdec_asf.h
===================================================================
--- libavformat/rtpdec_asf.h	(revision 24513)
+++ libavformat/rtpdec_asf.h	(working copy)
@@ -37,6 +37,7 @@
  * Defined and implemented in rtp_asf.c, registered in rtpdec.c.
  */
 extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfv_handler,
-                                 ff_ms_rtp_asf_pfa_handler;
+                                 ff_ms_rtp_asf_pfa_handler,
+                                 ff_ms_rtp_asf_wmt_handler;
 
 #endif /* AVFORMAT_RTPDEC_ASF_H */
