<div dir="ltr"><div>I am not able to find the code implementing that specific encoder on the fly so I will try and work with whtever assumptions I can make about encoders in general and your post.<br><br></div>You will need to make sure that your metadata implements a transformation function, the encoder implements a transformation function and that the tags of the metadata are correctly set for the specific transformation. Assuming that the imxvpuenc_mjpeg inherits the videoencoder class and does not override the transform_meta function, you will need to make sure that the meta tags include "video" and do <u>not</u> include "memory"<br><div><br><br></div><div>Dimitrios<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 19, 2017 at 12:47 AM, Philippe De Muyter <span dir="ltr"><<a href="mailto:phdm@macq.eu" target="_blank">phdm@macq.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I have read that since the 1.6 version of gstreamer frame tags are preserved<br>
by each plugin.  My questions below are targeted at the propagation by<br>
GstVideoEncoders of memory- and frame-size- independent tags, such as gps data,<br>
exposure, gain that could vary from frame to frame, and so on.<br>
<br>
I have the following pipeline :<br>
<br>
gst-launch-1.0 imxv4l2videosrc ! tee name=t ! queue ! \<br>
        imxvpuenc_mjpeg ! mprintmeta logname=1 ! fakesink i\<br>
        t. ! queue ! imxvpuenc_h264 ! mprintmeta logname=2 ! fakesink<br>
<br>
where imxv4l2videosrc has been modified to add custom metadata, and<br>
mprintmeta is debugging to show those metadata.  I notice that the<br>
metadata are not present after the encoders<br>
<br>
- Is the propagation mechanism implemented outside of the plugins, or must<br>
it be implemented in each plugin ? In that case, is a generic propagation code<br>
available, that we could add e.g. to gstreamer-imx (imx hardware accelerated)<br>
encoder plugins ?<br>
<br>
- Is GstMetaFreeFunction only called after all instances are unused, or is<br>
there a refcount accessible inside the definition of GstMetaFreeFunction<br>
for a new metadata type, to avoid that one branch after a 'tee' destroys a<br>
metadata that's still used by the other branch ?<br>
<br>
Thanks in advance<br>
<span class="HOEnZb"><font color="#888888"><br>
Philippe<br>
<br>
--<br>
Philippe De Muyter <a href="tel:%2B32%202%206101532" value="+3226101532">+32 2 6101532</a> Macq SA rue de l'Aeronef 2 B-1140 Bruxelles<br>
______________________________<wbr>_________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.<wbr>freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/<wbr>mailman/listinfo/gstreamer-<wbr>devel</a><br>
</font></span></blockquote></div><br></div>