Commit e15421fe authored by Baptiste Coudurier's avatar Baptiste Coudurier

write essence elements klv packets with ber4 length, more interoperable

Originally committed as revision 17200 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent baaf7b1b
...@@ -1397,7 +1397,7 @@ static void mxf_write_system_item(AVFormatContext *s) ...@@ -1397,7 +1397,7 @@ static void mxf_write_system_item(AVFormatContext *s)
// write system metadata pack // write system metadata pack
put_buffer(pb, system_metadata_pack_key, 16); put_buffer(pb, system_metadata_pack_key, 16);
klv_encode_ber_length(pb, 57); klv_encode_ber4_length(pb, 57);
put_byte(pb, 0x5c); // UL, user date/time stamp, picture and sound item present put_byte(pb, 0x5c); // UL, user date/time stamp, picture and sound item present
put_byte(pb, 0x04); // content package rate put_byte(pb, 0x04); // content package rate
put_byte(pb, 0x00); // content package type put_byte(pb, 0x00); // content package type
...@@ -1419,7 +1419,7 @@ static void mxf_write_system_item(AVFormatContext *s) ...@@ -1419,7 +1419,7 @@ static void mxf_write_system_item(AVFormatContext *s)
// write system metadata package set // write system metadata package set
put_buffer(pb, system_metadata_package_set_key, 16); put_buffer(pb, system_metadata_package_set_key, 16);
klv_encode_ber_length(pb, 35); klv_encode_ber4_length(pb, 35);
put_byte(pb, 0x83); // UMID put_byte(pb, 0x83); // UMID
put_be16(pb, 0x20); put_be16(pb, 0x20);
mxf_write_umid(pb, SourcePackage, 0); mxf_write_umid(pb, SourcePackage, 0);
...@@ -1479,7 +1479,7 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt) ...@@ -1479,7 +1479,7 @@ static int mxf_write_packet(AVFormatContext *s, AVPacket *pkt)
mxf_write_klv_fill(s); mxf_write_klv_fill(s);
put_buffer(pb, sc->track_essence_element_key, 16); // write key put_buffer(pb, sc->track_essence_element_key, 16); // write key
klv_encode_ber_length(pb, pkt->size); // write length klv_encode_ber4_length(pb, pkt->size); // write length
put_buffer(pb, pkt->data, pkt->size); // write value put_buffer(pb, pkt->data, pkt->size); // write value
put_flush_packet(pb); put_flush_packet(pb);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment