metadata propagation in gsttransform plugins

Philippe De Muyter phdm at macq.eu
Wed Jan 18 23:47:53 UTC 2017


Hi all,

I have read that since the 1.6 version of gstreamer frame tags are preserved
by each plugin.  My questions below are targeted at the propagation by
GstVideoEncoders of memory- and frame-size- independent tags, such as gps data,
exposure, gain that could vary from frame to frame, and so on.

I have the following pipeline :

gst-launch-1.0 imxv4l2videosrc ! tee name=t ! queue ! \
	imxvpuenc_mjpeg ! mprintmeta logname=1 ! fakesink i\
	t. ! queue ! imxvpuenc_h264 ! mprintmeta logname=2 ! fakesink

where imxv4l2videosrc has been modified to add custom metadata, and
mprintmeta is debugging to show those metadata.  I notice that the
metadata are not present after the encoders

- Is the propagation mechanism implemented outside of the plugins, or must
it be implemented in each plugin ? In that case, is a generic propagation code
available, that we could add e.g. to gstreamer-imx (imx hardware accelerated)
encoder plugins ?

- Is GstMetaFreeFunction only called after all instances are unused, or is
there a refcount accessible inside the definition of GstMetaFreeFunction
for a new metadata type, to avoid that one branch after a 'tee' destroys a
metadata that's still used by the other branch ?

Thanks in advance

Philippe

-- 
Philippe De Muyter +32 2 6101532 Macq SA rue de l'Aeronef 2 B-1140 Bruxelles


More information about the gstreamer-devel mailing list