[Ffmpeg-devel] changes to ignore command media embedded in MS WMV files

Brown, Mike mikeb
Thu Aug 11 00:34:52 CEST 2005


Here are the changes to allow ffmpeg to ignore command media in Microsoft
WMV files.  The current behavior is to abort processing of the WMV file.
This change allows the WMV file to be processed by ignoring the command
stream.

Thanks to Guillaume for the directions on submitting this information.

Regards,
Mike Brown
CTO
Vibe Solutions Group

-----patch file information follows ------------------------
--- ffmpeg.c    2005-08-10 16:55:32.000000000 -0500
+++ ffmpeg.c.new        2005-08-10 15:53:11.000000000 -0500
@@ -3116,6 +3116,8 @@
             break;
         case CODEC_TYPE_SUBTITLE:
             break;
+        case CODEC_TYPE_UNKNOWN:
+            break;
         default:
             av_abort();
         }
@@ -3163,6 +3165,7 @@
                 has_video = 1;
                 break;
             case CODEC_TYPE_DATA:
+            case CODEC_TYPE_UNKNOWN:
             case CODEC_TYPE_SUBTITLE:
                 break;
             default:
--- libavformat/asf.h       2005-08-10 16:55:32.000000000 -0500
+++ libavformat/asf.h.new   2005-08-10 15:50:07.000000000 -0500
@@ -165,6 +165,9 @@
     0x20FB5700, 0x5B55, 0x11CF, { 0xA8, 0xFD, 0x00, 0x80, 0x5F, 0x5C, 0x44,
0x2B },
 };

+static const GUID command_stream = {
+    0x59DACFC0, 0x59E6, 0x11D0, { 0xA3, 0xAC, 0x00, 0xA0, 0xC9, 0x03, 0x48,
0xF6 },
+};

 static const GUID comment_header = {
     0x75b22633, 0x668e, 0x11cf, { 0xa6, 0xd9, 0x00, 0xaa, 0x00, 0x62, 0xce,
0x6c },
--- libavformat/asf.c       2005-08-10 16:55:32.000000000 -0500
+++ libavformat/asf.c.new   2005-08-10 15:59:16.000000000 -0500
@@ -51,6 +51,7 @@
     else PRINT_IF_GUID(g, audio_conceal_none);
     else PRINT_IF_GUID(g, video_stream);
     else PRINT_IF_GUID(g, video_conceal_none);
+    else PRINT_IF_GUID(g, command_stream);
     else PRINT_IF_GUID(g, comment_header);
     else PRINT_IF_GUID(g, codec_comment_header);
     else PRINT_IF_GUID(g, codec_comment1_header);
@@ -204,6 +205,8 @@
                 type = CODEC_TYPE_AUDIO;
             } else if (!memcmp(&g, &video_stream, sizeof(GUID))) {
                 type = CODEC_TYPE_VIDEO;
+            } else if (!memcmp(&g, &command_stream, sizeof(GUID))) {
+                type = CODEC_TYPE_UNKNOWN;
             } else {
                 goto fail;
             }
--------------------------- end of changes --------------------------------





More information about the ffmpeg-devel mailing list