changeset 4531:92ee3219998b libavformat

do not write slice count when muxing cbr
author bcoudurier
date Wed, 18 Feb 2009 02:13:59 +0000
parents 9ca76e4777db
children 32f00d63e3cd
files mxfenc.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/mxfenc.c	Wed Feb 18 01:43:40 2009 +0000
+++ b/mxfenc.c	Wed Feb 18 02:13:59 2009 +0000
@@ -1042,7 +1042,7 @@
     put_buffer(pb, index_table_segment_key, 16);
 
     if (mxf->edit_unit_byte_count) {
-        klv_encode_ber_length(pb, 85);
+        klv_encode_ber_length(pb, 80);
     } else {
         klv_encode_ber_length(pb, 85 + 12+(s->nb_streams+1)*6 +
                               12+mxf->edit_units_count*(11+mxf->slice_count*4));
@@ -1077,11 +1077,11 @@
     mxf_write_local_tag(pb, 4, 0x3F07);
     put_be32(pb, 1);
 
-    // real slice count - 1
-    mxf_write_local_tag(pb, 1, 0x3F08);
-    put_byte(pb, mxf->slice_count);
+    if (!mxf->edit_unit_byte_count) {
+        // real slice count - 1
+        mxf_write_local_tag(pb, 1, 0x3F08);
+        put_byte(pb, mxf->slice_count);
 
-    if (!mxf->edit_unit_byte_count) {
         // delta entry array
         mxf_write_local_tag(pb, 8 + (s->nb_streams+1)*6, 0x3F09);
         put_be32(pb, s->nb_streams+1); // num of entries