metadata propagation in gsttransform plugins
Philippe De Muyter
phdm at macq.eu
Fri Jan 20 08:30:48 UTC 2017
On Thu, Jan 19, 2017 at 04:08:51PM +0100, Philippe De Muyter wrote:
> Hi Dimitrios,
>
> On Thu, Jan 19, 2017 at 12:47:43PM +0100, Dimitrios Katsaros wrote:
> > If you have no tags in the gst_meta_api_type_register then the metadata
> > should pass all the element checks. So adding the video tag and removing
> > memory would only change something if you were already defining you own
> > tags, like e.g. GPS.
>
> Well, I have now removed our own tag and the newly added "video" tag,
> calling thus gst_meta_api_type_register with an empty tag array,
> and now our meta_transform function (always copy) is called, and our
> metadata are propagated auto-magically to the encoded buffers :)
I also have rechecked with only the "video" tag, and that works also,
because of the following lines in gst_video_decoder_transform_meta_default :
if (!tags || (g_strv_length ((gchar **) tags) == 1
&& gst_meta_api_type_has_tag (info->api,
g_quark_from_string (GST_META_TAG_VIDEO_STR))))
return TRUE;
where g_strv_length gives the number of entries in the tags array.
So having no tag or only the GST_META_TAG_VIDEO_STR (= "video") is
equivalent for gst_video_decoder_transform_meta_default
Philippe
More information about the gstreamer-devel
mailing list