diff mxfenc.c @ 4320:3524125567f3 libavformat

add aes3 pcm wrapping and use it by default
author bcoudurier
date Sat, 31 Jan 2009 07:02:20 +0000
parents 28d38c1fb5fa
children 68de70aa392b
line wrap: on
line diff
--- a/mxfenc.c	Sat Jan 31 06:59:55 2009 +0000
+++ b/mxfenc.c	Sat Jan 31 07:02:20 2009 +0000
@@ -70,6 +70,7 @@
 } MXFContainerEssenceEntry;
 
 static void mxf_write_wav_desc(AVFormatContext *s, AVStream *st);
+static void mxf_write_aes3_desc(AVFormatContext *s, AVStream *st);
 static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st);
 
 static const MXFContainerEssenceEntry mxf_essence_container_uls[] = {
@@ -77,6 +78,10 @@
       { 0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x15,0x01,0x05,0x00 },
       { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x03,0x04,0x01,0x02,0x02,0x01,0x00,0x00,0x00 },
       CODEC_ID_MPEG2VIDEO, mxf_write_mpegvideo_desc },
+    { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x03,0x00 },
+      { 0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x16,0x01,0x03,0x00 },
+      { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00 },
+      CODEC_ID_PCM_S16LE, mxf_write_aes3_desc },
     { { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x0D,0x01,0x03,0x01,0x02,0x06,0x01,0x00 },
       { 0x06,0x0E,0x2B,0x34,0x01,0x02,0x01,0x01,0x0D,0x01,0x03,0x01,0x16,0x01,0x01,0x00 },
       { 0x06,0x0E,0x2B,0x34,0x04,0x01,0x01,0x01,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00 },
@@ -575,6 +580,7 @@
 
 static const UID mxf_mpegvideo_descriptor_key = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x51,0x00 };
 static const UID mxf_wav_descriptor_key       = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x48,0x00 };
+static const UID mxf_aes3_descriptor_key      = { 0x06,0x0E,0x2B,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x47,0x00 };
 
 static void mxf_write_mpegvideo_desc(AVFormatContext *s, AVStream *st)
 {
@@ -631,6 +637,11 @@
     mxf_write_generic_sound_desc(s, st, mxf_wav_descriptor_key, 93);
 }
 
+static void mxf_write_aes3_desc(AVFormatContext *s, AVStream *st)
+{
+    mxf_write_generic_sound_desc(s, st, mxf_aes3_descriptor_key, 93);
+}
+
 static void mxf_write_package(AVFormatContext *s, enum MXFMetadataSetType type)
 {
     ByteIOContext *pb = s->pb;