changeset 6293:130d730d1c5e libavformat

Explicitely set the size of the "ff_asf_head1_guid" header chunk, this is part of the spec and causes problems otherwise. Patch by Zhentan Feng <spyfeng gmail com>.
author rbultje
date Tue, 20 Jul 2010 15:11:44 +0000
parents 54715a725139
children 43d0fb52419d
files mmst.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/mmst.c	Tue Jul 20 15:07:31 2010 +0000
+++ b/mmst.c	Tue Jul 20 15:11:44 2010 +0000
@@ -20,6 +20,14 @@
  * License along with FFmpeg; if not, write to the Free Software
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
+
+/* References
+ * MMS protocol specification:
+ *  [1]http://msdn.microsoft.com/en-us/library/cc234711(PROT.10).aspx
+ * ASF specification. Revision 01.20.03.
+ *  [2]http://msdn.microsoft.com/en-us/library/bb643323.aspx
+ */
+
 #include "avformat.h"
 #include "internal.h"
 #include "libavutil/intreadwrite.h"
@@ -473,6 +481,8 @@
                 dprintf(NULL, "Too many streams.\n");
                 return -1;
             }
+        } else if (!memcmp(p, ff_asf_head1_guid, sizeof(ff_asf_guid))) {
+            chunksize = 46; // see references [2] section 3.4. This should be set 46.
         }
         p += chunksize;
     }