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/mxfparse.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'gst/mxf/mxfparse.c') diff --git a/gst/mxf/mxfparse.c b/gst/mxf/mxfparse.c index d88417cf..b1a87e04 100644 --- a/gst/mxf/mxfparse.c +++ b/gst/mxf/mxfparse.c @@ -2610,8 +2610,8 @@ void mxf_metadata_generic_picture_essence_descriptor_reset void mxf_metadata_generic_picture_essence_descriptor_set_caps (MXFMetadataGenericPictureEssenceDescriptor * descriptor, GstCaps * caps) { - guint par_n, par_d; - guint width, height; + /*guint par_n, par_d; + guint width, height; */ MXFMetadataFileDescriptor *f = (MXFMetadataFileDescriptor *) descriptor; g_return_if_fail (descriptor != NULL); @@ -2620,6 +2620,10 @@ void mxf_metadata_generic_picture_essence_descriptor_set_caps gst_caps_set_simple (caps, "framerate", GST_TYPE_FRACTION, f->sample_rate.n, f->sample_rate.d, NULL); + return; + +/* FIXME: This sets wrong values for most (all?) files */ +#if 0 width = descriptor->stored_width; height = descriptor->stored_height; @@ -2632,11 +2636,12 @@ void mxf_metadata_generic_picture_essence_descriptor_set_caps if (descriptor->aspect_ratio.n == 0 || descriptor->aspect_ratio.d == 0) return; - par_n = height * descriptor->aspect_ratio.n; - par_d = width * descriptor->aspect_ratio.d; + par_n = height * descriptor->aspect_ratio.d; + par_d = width * descriptor->aspect_ratio.n; gst_caps_set_simple (caps, "pixel-aspect-ratio", GST_TYPE_FRACTION, par_n, par_d, NULL); +#endif } gboolean -- cgit v1.2.1