Mercurial > libavformat.hg
changeset 4442:85f1c6887bef libavformat
fix partition offset when only one stream present
author | bcoudurier |
---|---|
date | Tue, 10 Feb 2009 23:25:23 +0000 |
parents | 0fd16041ac29 |
children | 2761281687e3 |
files | mxfenc.c |
diffstat | 1 files changed, 3 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mxfenc.c Tue Feb 10 22:59:13 2009 +0000 +++ b/mxfenc.c Tue Feb 10 23:25:23 2009 +0000 @@ -1021,6 +1021,7 @@ ByteIOContext *pb = s->pb; int64_t header_byte_count_offset; unsigned index_byte_count = 0; + uint64_t partition_offset = url_ftell(pb); if (mxf->edit_units_count) { index_byte_count = 109 + (s->nb_streams+1)*6 + @@ -1037,7 +1038,7 @@ av_realloc(mxf->body_partition_offset, (mxf->body_partitions_count+1)* sizeof(*mxf->body_partition_offset)); - mxf->body_partition_offset[mxf->body_partitions_count++] = url_ftell(pb); + mxf->body_partition_offset[mxf->body_partitions_count++] = partition_offset; } // write klv @@ -1050,7 +1051,7 @@ put_be16(pb, 2); // minorVersion put_be32(pb, KAG_SIZE); // KAGSize - put_be64(pb, url_ftell(pb) - 25); // thisPartition + put_be64(pb, partition_offset); // ThisPartition if (!memcmp(key, body_partition_key, 16) && mxf->body_partitions_count > 1) put_be64(pb, mxf->body_partition_offset[mxf->body_partitions_count-2]); // PreviousPartition