Browse Source

avformat/mxfenc: update body partition with footer offset

tags/n4.1
Baptiste Coudurier 8 years ago
parent
commit
84e8a87ca0
7 changed files with 15 additions and 10 deletions
  1. +7
    -2
      libavformat/mxfenc.c
  2. +3
    -3
      tests/ref/lavf/mxf
  3. +1
    -1
      tests/ref/lavf/mxf_d10
  4. +1
    -1
      tests/ref/lavf/mxf_dv25
  5. +1
    -1
      tests/ref/lavf/mxf_dvcpro50
  6. +1
    -1
      tests/ref/lavf/mxf_opatom
  7. +1
    -1
      tests/ref/lavf/mxf_opatom_audio

+ 7
- 2
libavformat/mxfenc.c View File

@@ -1938,7 +1938,7 @@ static int mxf_write_partition(AVFormatContext *s, int bodysid,
else
avio_write(pb, body_partition_key, 16);

klv_encode_ber_length(pb, 88 + 16LL * DESCRIPTOR_COUNT(mxf->essence_container_count));
klv_encode_ber4_length(pb, 88 + 16LL * DESCRIPTOR_COUNT(mxf->essence_container_count));

// write partition value
avio_wb16(pb, 1); // majorVersion
@@ -2905,7 +2905,7 @@ static int mxf_write_footer(AVFormatContext *s)
{
MXFContext *mxf = s->priv_data;
AVIOContext *pb = s->pb;
int err = 0;
int i, err = 0;

if (!mxf->header_written ||
(s->oformat == &ff_mxf_opatom_muxer && !mxf->body_partition_offset)) {
@@ -2949,6 +2949,11 @@ static int mxf_write_footer(AVFormatContext *s)
if ((err = mxf_write_partition(s, 0, 0, header_closed_partition_key, 1)) < 0)
goto end;
}
// update footer partition offset
for (i = 0; i < mxf->body_partitions_count; i++) {
avio_seek(pb, mxf->body_partition_offset[i]+44, SEEK_SET);
avio_wb64(pb, mxf->footer_partition_offset);
}
}

end:


+ 3
- 3
tests/ref/lavf/mxf View File

@@ -1,9 +1,9 @@
eea31259441d909fedb9a0e0eb9bbdb2 *./tests/data/lavf/lavf.mxf
649009e3d3d62eb3b6c56334d057cc4d *./tests/data/lavf/lavf.mxf
526393 ./tests/data/lavf/lavf.mxf
./tests/data/lavf/lavf.mxf CRC=0x8dddfaab
7524e7319a64b639d6ef49446d46320e *./tests/data/lavf/lavf.mxf
5025d7f79b638166b787b3cb8364e5d9 *./tests/data/lavf/lavf.mxf
561721 ./tests/data/lavf/lavf.mxf
./tests/data/lavf/lavf.mxf CRC=0x96ff1b48
e547b44d71cd5871582522a31511ae9c *./tests/data/lavf/lavf.mxf
02bf8f0cd8951a49e277306691cb1538 *./tests/data/lavf/lavf.mxf
526393 ./tests/data/lavf/lavf.mxf
./tests/data/lavf/lavf.mxf CRC=0x8dddfaab

+ 1
- 1
tests/ref/lavf/mxf_d10 View File

@@ -1,3 +1,3 @@
9f299fd4da6a20ef93adad7fe6a9f481 *./tests/data/lavf/lavf.mxf_d10
e597f73ef9c9819710d2f815813eb91f *./tests/data/lavf/lavf.mxf_d10
5332013 ./tests/data/lavf/lavf.mxf_d10
./tests/data/lavf/lavf.mxf_d10 CRC=0x6c74d488

+ 1
- 1
tests/ref/lavf/mxf_dv25 View File

@@ -1,3 +1,3 @@
358791c5468c39673239e038fb64a734 *./tests/data/lavf/lavf.mxf_dv25
0fc964fa22bc8b3a389b81b9a2efccb3 *./tests/data/lavf/lavf.mxf_dv25
3834413 ./tests/data/lavf/lavf.mxf_dv25
./tests/data/lavf/lavf.mxf_dv25 CRC=0xbdaf7f52

+ 1
- 1
tests/ref/lavf/mxf_dvcpro50 View File

@@ -1,3 +1,3 @@
fac7c59ea81c752d769335ddaa818f90 *./tests/data/lavf/lavf.mxf_dvcpro50
aa81ea83af44a69e73849e327cc4bd12 *./tests/data/lavf/lavf.mxf_dvcpro50
7431213 ./tests/data/lavf/lavf.mxf_dvcpro50
./tests/data/lavf/lavf.mxf_dvcpro50 CRC=0xe3bbe4b4

+ 1
- 1
tests/ref/lavf/mxf_opatom View File

@@ -1,3 +1,3 @@
49b0b3dfeb6a9ec024b047fc627b66fd *./tests/data/lavf/lavf.mxf_opatom
06a1816aa91c733e1ef7e45d82e4f1d3 *./tests/data/lavf/lavf.mxf_opatom
4717625 ./tests/data/lavf/lavf.mxf_opatom
./tests/data/lavf/lavf.mxf_opatom CRC=0xf55aa22a

+ 1
- 1
tests/ref/lavf/mxf_opatom_audio View File

@@ -1,3 +1,3 @@
862dc5c9f2c94bd2c545ca64f923d1a1 *./tests/data/lavf/lavf.mxf_opatom_audio
c45bb140605339556a77e751fda2c449 *./tests/data/lavf/lavf.mxf_opatom_audio
102969 ./tests/data/lavf/lavf.mxf_opatom_audio
./tests/data/lavf/lavf.mxf_opatom_audio CRC=0xd155c6ff

Loading…
Cancel
Save