comparison mxfenc.c @ 4340:ee0bdf4a43b0 libavformat

factorize common wav local tags
author bcoudurier
date Mon, 02 Feb 2009 04:40:57 +0000
parents eaecbe63bcc5
children 501d1dd19021
comparison
equal deleted inserted replaced
4339:eaecbe63bcc5 4340:ee0bdf4a43b0
678 678
679 mxf_write_local_tag(pb, 4, 0x3D01); 679 mxf_write_local_tag(pb, 4, 0x3D01);
680 put_be32(pb, st->codec->bits_per_coded_sample); 680 put_be32(pb, st->codec->bits_per_coded_sample);
681 } 681 }
682 682
683 static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st) 683 static void mxf_write_wav_common_desc(AVFormatContext *s, AVStream *st, const UID key, unsigned size)
684 { 684 {
685 ByteIOContext *pb = s->pb; 685 ByteIOContext *pb = s->pb;
686 686
687 mxf_write_generic_sound_desc(s, st, mxf_wav_descriptor_key, 107); 687 mxf_write_generic_sound_desc(s, st, key, size);
688 688
689 mxf_write_local_tag(pb, 2, 0x3D0A); 689 mxf_write_local_tag(pb, 2, 0x3D0A);
690 put_be16(pb, st->codec->block_align); 690 put_be16(pb, st->codec->block_align);
691 691
692 // avg bytes per sec 692 // avg bytes per sec
693 mxf_write_local_tag(pb, 4, 0x3D09); 693 mxf_write_local_tag(pb, 4, 0x3D09);
694 put_be32(pb, st->codec->block_align*st->codec->sample_rate); 694 put_be32(pb, st->codec->block_align*st->codec->sample_rate);
695 } 695 }
696 696
697 static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st)
698 {
699 mxf_write_wav_common_desc(s, st, mxf_wav_descriptor_key, 107);
700 }
701
697 static void mxf_write_aes3_desc(AVFormatContext *s, AVStream *st) 702 static void mxf_write_aes3_desc(AVFormatContext *s, AVStream *st)
698 { 703 {
699 ByteIOContext *pb = s->pb; 704 mxf_write_wav_common_desc(s, st, mxf_aes3_descriptor_key, 107);
700
701 mxf_write_generic_sound_desc(s, st, mxf_aes3_descriptor_key, 107);
702
703 mxf_write_local_tag(pb, 2, 0x3D0A);
704 put_be16(pb, st->codec->block_align);
705
706 // avg bytes per sec
707 mxf_write_local_tag(pb, 4, 0x3D09);
708 put_be32(pb, st->codec->block_align*st->codec->sample_rate);
709 } 705 }
710 706
711 static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type) 707 static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type)
712 { 708 {
713 ByteIOContext *pb = s->pb; 709 ByteIOContext *pb = s->pb;