Mercurial > libavformat.hg
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; |