changeset 2469:335446056965 libavformat

Move writing Xiph-style sizes to its own function
author conrad
date Wed, 05 Sep 2007 00:24:06 +0000
parents 9f5ae944ea07
children 159f87f699a5
files matroskaenc.c
diffstat 1 files changed, 10 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/matroskaenc.c	Wed Sep 05 00:24:03 2007 +0000
+++ b/matroskaenc.c	Wed Sep 05 00:24:06 2007 +0000
@@ -178,6 +178,14 @@
     url_fseek(pb, pos, SEEK_SET);
 }
 
+static void put_xiph_size(ByteIOContext *pb, int size)
+{
+    int i;
+    for (i = 0; i < size / 255; i++)
+        put_byte(pb, 255);
+    put_byte(pb, size % 255);
+}
+
 // initializes a mkv_seekhead element to be ready to index level 1 matroska elements
 // if numelements is greater than 0, it reserves enough space for that many elements
 // at the current file position and writes the seekhead there, otherwise the seekhead
@@ -331,7 +339,7 @@
     uint8_t *header_start[3];
     int header_len[3];
     int first_header_size;
-    int j, k;
+    int j;
 
     if (codec->codec_id == CODEC_ID_VORBIS)
         first_header_size = 30;
@@ -347,9 +355,7 @@
     codecprivate = start_ebml_master(pb, MATROSKA_ID_CODECPRIVATE);
     put_byte(pb, 2);                    // number packets - 1
     for (j = 0; j < 2; j++) {
-        for (k = 0; k < header_len[j] / 255; k++)
-            put_byte(pb, 255);
-        put_byte(pb, header_len[j] % 255);
+        put_xiph_size(pb, header_len[j]);
     }
     for (j = 0; j < 3; j++)
         put_buffer(pb, header_start[j], header_len[j]);