From 8201937c549034dc26dc289295a4ca0dfdceeb32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 4 Dec 2008 08:37:18 +0000 Subject: gst/mxf/: Add support for SMPTE D10 essence (SMPTE 386M). Original commit message from CVS: * gst/mxf/Makefile.am: * gst/mxf/mxfd10.c: (mxf_is_d10_essence_track), (mxf_d10_picture_handle_essence_element), (mxf_d10_sound_handle_essence_element), (mxf_d10_create_caps): * gst/mxf/mxfd10.h: * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_header_metadata_update_streams): Add support for SMPTE D10 essence (SMPTE 386M). * gst/mxf/mxfparse.c: (mxf_metadata_generic_picture_essence_descriptor_set_caps): Don't set width/height and PAR on the caps as those values are wrong for most files (height is sometimes the height of a field and aspect ratio is some random value). * gst/mxf/mxfaes-bwf.c: (mxf_bwf_create_caps), (mxf_aes3_create_caps): Fix calculation of block align if it isn't set in the descriptor. --- gst/mxf/mxfaes-bwf.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'gst/mxf/mxfaes-bwf.c') diff --git a/gst/mxf/mxfaes-bwf.c b/gst/mxf/mxfaes-bwf.c index ce4bbf51..a62d2703 100644 --- a/gst/mxf/mxfaes-bwf.c +++ b/gst/mxf/mxfaes-bwf.c @@ -570,7 +570,9 @@ mxf_bwf_create_caps (MXFMetadataGenericPackage * package, if (wa_descriptor && wa_descriptor->block_align != 0) block_align = wa_descriptor->block_align; else - block_align = GST_ROUND_UP_8 (descriptor->quantization_bits) / 8; + block_align = + (GST_ROUND_UP_8 (descriptor->quantization_bits) * + descriptor->channel_count) / 8; ret = gst_caps_new_simple ("audio/x-raw-int", "rate", G_TYPE_INT, @@ -599,7 +601,9 @@ mxf_bwf_create_caps (MXFMetadataGenericPackage * package, if (wa_descriptor && wa_descriptor->block_align != 0) block_align = wa_descriptor->block_align; else - block_align = GST_ROUND_UP_8 (descriptor->quantization_bits) / 8; + block_align = + (GST_ROUND_UP_8 (descriptor->quantization_bits) * + descriptor->channel_count) / 8; ret = gst_caps_new_simple ("audio/x-raw-int", "rate", G_TYPE_INT, @@ -679,7 +683,9 @@ mxf_aes3_create_caps (MXFMetadataGenericPackage * package, if (wa_descriptor && wa_descriptor->block_align != 0) block_align = wa_descriptor->block_align; else - block_align = GST_ROUND_UP_8 (descriptor->quantization_bits) / 8; + block_align = + (GST_ROUND_UP_8 (descriptor->quantization_bits) * + descriptor->channel_count) / 8; ret = gst_caps_new_simple ("audio/x-raw-int", "rate", G_TYPE_INT, -- cgit v1.2.1