summaryrefslogtreecommitdiff
path: root/libavformat/mmst.c
diff options
context:
space:
mode:
authorZhentan Feng <spyfeng@gmail.com>2010-07-20 15:11:44 +0000
committerRonald S. Bultje <rsbultje@gmail.com>2010-07-20 15:11:44 +0000
commitd6cc1123e37fb3b795b13e66315d90711c6fd9a7 (patch)
tree86bc66c378f2cd26f90f77832cd28c8fd425ceba /libavformat/mmst.c
parenta28cccf6d62dc770757491510c248ed632a836ce (diff)
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>. Originally committed as revision 24362 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mmst.c')
-rw-r--r--libavformat/mmst.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libavformat/mmst.c b/libavformat/mmst.c
index cfd8919b34..b2f956e657 100644
--- a/libavformat/mmst.c
+++ b/libavformat/mmst.c
@@ -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 @@ static int asf_header_parser(MMSContext *mms)
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;
}