summaryrefslogtreecommitdiffstats
path: root/ext/metadata/gstmetadatademux.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/metadata/gstmetadatademux.c')
-rw-r--r--ext/metadata/gstmetadatademux.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/ext/metadata/gstmetadatademux.c b/ext/metadata/gstmetadatademux.c
index 9e53be54..b0d09950 100644
--- a/ext/metadata/gstmetadatademux.c
+++ b/ext/metadata/gstmetadatademux.c
@@ -88,7 +88,8 @@ enum
ARG_0,
ARG_EXIF,
ARG_IPTC,
- ARG_XMP
+ ARG_XMP,
+ ARG_PARSE_ONLY
};
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
@@ -211,6 +212,10 @@ gst_metadata_demux_class_init (GstMetadataDemuxClass * klass)
g_param_spec_boolean ("xmp", "XMP", "Send XMP metadata ?",
TRUE, G_PARAM_READWRITE));
+ g_object_class_install_property (gobject_class, ARG_PARSE_ONLY,
+ g_param_spec_boolean ("parse-only", "parse-only",
+ "If TRUE, don't strip out any chunk", FALSE, G_PARAM_READWRITE));
+
gstelement_class->change_state = gst_metadata_demux_change_state;
}
@@ -300,6 +305,12 @@ gst_metadata_demux_set_property (GObject * object, guint prop_id,
else
filter->options &= ~META_OPT_XMP;
break;
+ case ARG_PARSE_ONLY:
+ if (g_value_get_boolean (value))
+ filter->options |= META_OPT_PARSE_ONLY;
+ else
+ filter->options &= ~META_OPT_PARSE_ONLY;
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -322,6 +333,9 @@ gst_metadata_demux_get_property (GObject * object, guint prop_id,
case ARG_XMP:
g_value_set_boolean (value, filter->options & META_OPT_XMP);
break;
+ case ARG_PARSE_ONLY:
+ g_value_set_boolean (value, filter->options & META_OPT_PARSE_ONLY);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;