[FFmpeg-cvslog] r17116 - trunk/libavformat/mxfenc.c
bcoudurier
subversion
Tue Feb 10 05:53:42 CET 2009
Author: bcoudurier
Date: Tue Feb 10 05:53:41 2009
New Revision: 17116
Log:
correctly set multi track operational pattern
Modified:
trunk/libavformat/mxfenc.c
Modified: trunk/libavformat/mxfenc.c
==============================================================================
--- trunk/libavformat/mxfenc.c Tue Feb 10 03:27:26 2009 (r17115)
+++ trunk/libavformat/mxfenc.c Tue Feb 10 05:53:41 2009 (r17116)
@@ -381,8 +381,14 @@ static void mxf_write_preface(AVFormatCo
mxf_write_local_tag(pb, 16, 0x3B03);
mxf_write_uuid(pb, ContentStorage, 0);
+ // operational pattern
mxf_write_local_tag(pb, 16, 0x3B09);
- put_buffer(pb, op1a_ul, 16);
+ if (s->nb_streams > 1) {
+ put_buffer(pb, op1a_ul, 14);
+ put_be16(pb, 0x0900); // multi track
+ } else {
+ put_buffer(pb, op1a_ul, 16);
+ }
// write essence_container_refs
mxf_write_local_tag(pb, 8 + 16 * mxf->essence_container_count, 0x3B0A);
@@ -1000,7 +1006,14 @@ static void mxf_write_partition(AVFormat
put_be64(pb, 0); // bodyOffset
put_be32(pb, bodysid); // bodySID
- put_buffer(pb, op1a_ul, 16); // operational pattern
+
+ // operational pattern
+ if (s->nb_streams > 1) {
+ put_buffer(pb, op1a_ul, 14);
+ put_be16(pb, 0x0900); // multi track
+ } else {
+ put_buffer(pb, op1a_ul, 16);
+ }
// essence container
mxf_write_essence_container_refs(s);
More information about the ffmpeg-cvslog
mailing list