passing custom meta data though 3rd party transforms

Miki Grof-Tisza mgroftisza at echo360.com
Fri Dec 20 08:32:39 PST 2013


Hi all,

I'm working on an embedded appliance, that among other thing will capture and record video.  I'm using gstreamer v1.2.1.  My pipeline is something like:
    my_v4lsrc ! tee ! queue ! imxipuvideotransform ! myCaptureControler ! imxvpuenc_h264 ! queue ! rtph264pay ! udpsink

imxipuvideotransform, and imxvpuenc_h264 are beta version elements from https://github.com/Freescale/gstreamer-imx.  They are working well for me.

my_v4lsrc, is a custom source based on GstPushSrc that pushes video buffers, that have some custom meta data attached to the buffers, in addition to GstVideoMeta.
myCaptureControler, is a custom filter that eventually will do things to the frames based partially on the meta data from my_v4lsrc.

So my issue is, that unless the caps are identical on both sides of imxipuvideotransform (which causes pass through mode to be used), the meta data is dropped.  This issue isn't specific to the imxipuvideotransform element, since the same thing happens with the videoscale element.

I'm thinking that the meta data should have some mechanism to tell a generic 3rd party transform to copy me to the destination.  Is this the case already and I missed it?  I'm not sure how to get the meta data from the source element to my other element without being dropped in transforms?
Ideally I would not have to maintain a custom version of imxipuvideotransform (or a subclass of it) just to copy metadata.  If this is the only way out, am I correct that  base_transform_class->copy_metadata is the right place to do the copy?

Any help would be appreciated!

Thanks,
Miki Grof-Tisza
Echo360, Inc.






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131220/2353269b/attachment.html>


More information about the gstreamer-devel mailing list