slomo gst-plugins-bad: gst-plugins-bad/ gst-plugins-bad/gst/mxf/
[email protected] Sat, 13 Dec 2008 00:06:47 -0800 (PST)
| Newsgroups | gmane.comp.video.gstreamer.cvs |
|---|---|
| Message-ID | <[email protected]> |
CVS Root: /cvs/gstreamer
Module: gst-plugins-bad
Changes by: slomo
Date: Sat Dec 13 2008 08:06:47 UTC
Log message:
* gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_descriptive_metadata),
(gst_mxf_demux_handle_klv_packet):
Add a generic handler for descriptive metadata so we can get some
debug output and let users file bugs for unsupport descriptive
metadata schemes.
Modified files:
. : ChangeLog
gst/mxf : mxfdemux.c
Links:
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/ChangeLog.diff?r1=1.3805&r2=1.3806
http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c.diff?r1=1.35&r2=1.36
====Begin Diffs====
Index: ChangeLog
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-bad/ChangeLog,v
retrieving revision 1.3805
retrieving revision 1.3806
diff -u -d -r1.3805 -r1.3806
--- ChangeLog 12 Dec 2008 10:29:30 -0000 1.3805
+++ ChangeLog 13 Dec 2008 08:06:32 -0000 1.3806
@@ -1,3 +1,11 @@
+2008-12-13 Sebastian Dröge <[email protected]>
+
+ * gst/mxf/mxfdemux.c: (gst_mxf_demux_handle_descriptive_metadata),
+ (gst_mxf_demux_handle_klv_packet):
+ Add a generic handler for descriptive metadata so we can get some
+ debug output and let users file bugs for unsupport descriptive
+ metadata schemes.
2008-12-12 Sebastian Dröge <[email protected]>
* gst/mxf/mxfaes-bwf.c:
Index: mxfdemux.c
RCS file: /cvs/gstreamer/gst-plugins-bad/gst/mxf/mxfdemux.c,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- mxfdemux.c 12 Dec 2008 10:29:31 -0000 1.35
+++ mxfdemux.c 13 Dec 2008 08:06:33 -0000 1.36
@@ -1341,8 +1341,9 @@
MXFMetadataEssenceContainerData, i);
for (j = 0; j < demux->content_storage.n_essence_container_data; j++) {
- if (mxf_ul_is_equal (&demux->content_storage.
- essence_container_data_uids[j], &data->instance_uid)) {
+ if (mxf_ul_is_equal (&demux->
+ content_storage.essence_container_data_uids[j],
+ &data->instance_uid)) {
demux->content_storage.essence_container_data[j] = data;
break;
}
@@ -2137,6 +2138,49 @@
}
static GstFlowReturn
+gst_mxf_demux_handle_descriptive_metadata (GstMXFDemux * demux,
+ const MXFUL * key, GstBuffer * buffer)
+{
+ guint32 type;
+ guint8 scheme;
+ GstFlowReturn ret = GST_FLOW_OK;
+ scheme = GST_READ_UINT8 (key->u + 12);
+ type = GST_READ_UINT24_BE (key->u + 13);
+ GST_DEBUG_OBJECT (demux,
+ "Handling descriptive metadata of size %u at offset %"
+ G_GUINT64_FORMAT " with scheme 0x%02x and type 0x%06x",
+ GST_BUFFER_SIZE (buffer), demux->offset, scheme, type);
+ if (G_UNLIKELY (!demux->partition.valid)) {
+ GST_ERROR_OBJECT (demux, "Partition pack doesn't exist");
+ return GST_FLOW_ERROR;
+ }
+ if (G_UNLIKELY (!demux->primer.valid)) {
+ GST_ERROR_OBJECT (demux, "Primer pack doesn't exists");
+ if (!demux->update_metadata) {
+ GST_DEBUG_OBJECT (demux,
+ "Skipping parsing of metadata because it's older than what we have");
+ return GST_FLOW_OK;
+ switch (type) {
+ default:
+ GST_WARNING_OBJECT (demux,
+ "Unknown or unhandled descriptive metadata of scheme 0x%02x and type 0x%06x",
+ scheme, type);
+ break;
+ return ret;
+}
+static GstFlowReturn
gst_mxf_demux_handle_generic_container_system_item (GstMXFDemux * demux,
const MXFUL * key, GstBuffer * buffer)
{
@@ -2670,6 +2714,8 @@
ret = gst_mxf_demux_handle_primer_pack (demux, key, buffer);
} else if (mxf_is_metadata (key)) {
ret = gst_mxf_demux_handle_metadata (demux, key, buffer);
+ } else if (mxf_is_descriptive_metadata (key)) {
+ ret = gst_mxf_demux_handle_descriptive_metadata (demux, key, buffer);
} else if (mxf_is_generic_container_system_item (key)) {
ret =
gst_mxf_demux_handle_generic_container_system_item (demux, key, buffer);
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
gstreamer-cvs-verbose mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs-verbose