slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/

[email protected]
Newsgroups gmane.comp.video.gstreamer.cvs
Message-ID <[email protected]>
CVS Root:       /cvs/gstreamer
Module:         gst-plugins-bad
Changes by:     slomo
Date:           Wed Nov 26 2008  10:37:48 UTC

Log message:
* gst/mxf/mxfaes-bwf.c:
(mxf_metadata_wave_audio_essence_descriptor_reset):
* gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_reset):
* gst/mxf/mxfparse.c: (mxf_metadata_file_descriptor_handle_tag),
(mxf_metadata_file_descriptor_reset),
(mxf_metadata_generic_sound_essence_descriptor_reset),
(mxf_metadata_generic_picture_essence_descriptor_reset),
(mxf_metadata_cdci_picture_essence_descriptor_reset),
(mxf_metadata_rgba_picture_essence_descriptor_reset),
(mxf_metadata_multiple_descriptor_reset):
* gst/mxf/mxfparse.h:
When memset'ing the descriptors to zeroes only touch the part
of this descriptor, not it's parent type.
Set correct default values for all metadata fields.

Modified files:
    .               : ChangeLog
    gst/mxf         : mxfaes-bwf.c mxfmpeg.c mxfparse.c mxfparse.h

Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3745&r2=1.3746
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfaes-bwf.c.diff?r1=1.3&r2=1.4
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfmpeg.c.diff?r1=1.4&r2=1.5
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfparse.c.diff?r1=1.7&r2=1.8
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfparse.h.diff?r1=1.5&r2=1.6

====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3745
retrieving revision 1.3746
diff -u -d -r1.3745 -r1.3746
--- ChangeLog	26 Nov 2008 04:57:21 -0000	1.3745
+++ ChangeLog	26 Nov 2008 10:37:31 -0000	1.3746
@@ -1,3 +1,21 @@
+2008-11-26  Sebastian Dröge  <[email protected]>
+
+	* gst/mxf/mxfaes-bwf.c:
+	(mxf_metadata_wave_audio_essence_descriptor_reset):
+	* gst/mxf/mxfmpeg.c: (mxf_metadata_mpeg_video_descriptor_reset):
+	* gst/mxf/mxfparse.c: (mxf_metadata_file_descriptor_handle_tag),
+	(mxf_metadata_file_descriptor_reset),
+	(mxf_metadata_generic_sound_essence_descriptor_reset),
+	(mxf_metadata_generic_picture_essence_descriptor_reset),
+	(mxf_metadata_cdci_picture_essence_descriptor_reset),
+	(mxf_metadata_rgba_picture_essence_descriptor_reset),
+	(mxf_metadata_multiple_descriptor_reset):
+	* gst/mxf/mxfparse.h:
+	When memset'ing the descriptors to zeroes only touch the part
+	of this descriptor, not it's parent type.
+	Set correct default values for all metadata fields.
 2008-11-25  David Schleef  <[email protected]>
 
 	* gst/mpegdemux/gstmpegtsdemux.c:
Index: mxfaes-bwf.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfaes-bwf.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mxfaes-bwf.c	25 Nov 2008 09:38:26 -0000	1.3
+++ mxfaes-bwf.c	26 Nov 2008 10:37:33 -0000	1.4
@@ -179,7 +179,9 @@
   mxf_metadata_generic_sound_essence_descriptor_reset (
       (MXFMetadataGenericSoundEssenceDescriptor *) descriptor);
-  memset (descriptor, 0, sizeof (MXFMetadataWaveAudioEssenceDescriptor));
+  MXF_METADATA_DESCRIPTOR_CLEAR (descriptor,
+      MXFMetadataWaveAudioEssenceDescriptor,
+      MXFMetadataGenericSoundEssenceDescriptor);
 }
 gboolean
Index: mxfmpeg.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfmpeg.c,v
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- mxfmpeg.c	25 Nov 2008 14:49:34 -0000	1.4
+++ mxfmpeg.c	26 Nov 2008 10:37:33 -0000	1.5
@@ -190,7 +190,8 @@
   mxf_metadata_cdci_picture_essence_descriptor_reset (
       (MXFMetadataCDCIPictureEssenceDescriptor *) descriptor);
-  memset (descriptor, 0, sizeof (MXFMetadataMPEGVideoDescriptor));
+  MXF_METADATA_DESCRIPTOR_CLEAR (descriptor, MXFMetadataMPEGVideoDescriptor,
+      MXFMetadataCDCIPictureEssenceDescriptor);
Index: mxfparse.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfparse.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- mxfparse.c	25 Nov 2008 14:49:34 -0000	1.7
+++ mxfparse.c	26 Nov 2008 10:37:33 -0000	1.8
@@ -1894,8 +1894,6 @@
   gboolean ret = FALSE;
   gchar str[48];
-  descriptor->parent.is_file_descriptor = TRUE;
-
   switch (tag) {
     case 0x3006:
       if (tag_size != 4)
@@ -1957,7 +1955,10 @@
   mxf_metadata_generic_descriptor_reset ((MXFMetadataGenericDescriptor *)
       descriptor);
-  memset (descriptor, 0, sizeof (MXFMetadataFileDescriptor));
+  MXF_METADATA_DESCRIPTOR_CLEAR (descriptor, MXFMetadataFileDescriptor,
+      MXFMetadataGenericDescriptor);
+  descriptor->parent.is_file_descriptor = TRUE;
@@ -2053,7 +2054,11 @@
   mxf_metadata_file_descriptor_reset ((MXFMetadataFileDescriptor *) descriptor);
-  memset (descriptor, 0, sizeof (MXFMetadataGenericSoundEssenceDescriptor));
+      MXFMetadataGenericSoundEssenceDescriptor, MXFMetadataFileDescriptor);
+  descriptor->audio_sampling_rate.n = 48000;
+  descriptor->audio_sampling_rate.d = 1;
@@ -2275,7 +2280,10 @@
-  memset (descriptor, 0, sizeof (MXFMetadataGenericPictureEssenceDescriptor));
+      MXFMetadataGenericPictureEssenceDescriptor, MXFMetadataFileDescriptor);
+  descriptor->signal_standard = 1;
 void mxf_metadata_generic_picture_essence_descriptor_set_caps
@@ -2412,7 +2420,9 @@
   mxf_metadata_generic_picture_essence_descriptor_reset (
       (MXFMetadataGenericPictureEssenceDescriptor *) descriptor);
-  memset (descriptor, 0, sizeof (MXFMetadataCDCIPictureEssenceDescriptor));
+      MXFMetadataCDCIPictureEssenceDescriptor,
+      MXFMetadataGenericPictureEssenceDescriptor);
@@ -2485,7 +2495,12 @@
-  memset (descriptor, 0, sizeof (MXFMetadataRGBAPictureEssenceDescriptor));
+      MXFMetadataRGBAPictureEssenceDescriptor,
+  descriptor->component_max_ref = 255;
+  descriptor->alpha_max_ref = 255;
@@ -2550,7 +2565,8 @@
-  memset (descriptor, 0, sizeof (MXFMetadataMultipleDescriptor));
+  MXF_METADATA_DESCRIPTOR_CLEAR (descriptor, MXFMetadataMultipleDescriptor,
+      MXFMetadataFileDescriptor);
Index: mxfparse.h
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfparse.h,v
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- mxfparse.h	25 Nov 2008 14:49:34 -0000	1.5
+++ mxfparse.h	26 Nov 2008 10:37:34 -0000	1.6
@@ -20,6 +20,8 @@
 #ifndef __MXF_PARSE_H__
 #define __MXF_PARSE_H__
+#include <string.h>
 #include "mxftypes.h"
 typedef GstFlowReturn (*MXFEssenceElementHandler) (const MXFUL *key, GstBuffer *buffer, GstCaps *caps, MXFMetadataGenericPackage *package, MXFMetadataTrack *track, MXFMetadataStructuralComponent *component, gpointer mapping_data, GstBuffer **outbuf);
@@ -111,6 +113,12 @@
 mxf_metadata_descriptor_parse (const MXFUL * key, MXFMetadataGenericDescriptor * descriptor, const MXFPrimerPack * primer, guint16 type, const guint8 * data, guint size, MXFMetadataDescriptorHandleTag handle_tag, MXFMetadataDescriptorReset reset);
+#define MXF_METADATA_DESCRIPTOR_CLEAR(descriptor, type, parent_type) \
+  G_STMT_START { \
+    guint8 *___data = (guint8 *) descriptor + sizeof (parent_type); \
+    memset (___data, 0, sizeof (type) - sizeof (parent_type)); \
+  } G_STMT_END
 gboolean mxf_metadata_generic_descriptor_handle_tag (MXFMetadataGenericDescriptor *descriptor,
     const MXFPrimerPack *primer, guint16 tag, const guint8 *tag_data, guint16 tag_size);
 void mxf_metadata_generic_descriptor_reset (MXFMetadataGenericDescriptor *descriptor);

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/

_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.