GNOME Bugzilla – Bug 670741
[0.11] basetransform: save downstream metadata supported APIs
Last modified: 2012-03-01 16:51:59 UTC
So that sub-classes like GstVideoFilter can chose to pass (some of) them upstream in non-passthrough mode. I'll attach two patches addressing this issue, one for -core and one for -base.
Created attachment 208342 [details] [review] basetransform: save downstream proposed metadata APIs This can be useful for sub-classes operating in non-passthrough mode. They can chose which APIs to forward upstream based on the ones saved by basetransform. API: gst_base_transform_downstream_metadata_apis()
Created attachment 208343 [details] [review] videofilter: forward downstream supported metadata APIs Implement the copy_metadata vfunc and copy the supported metadata to the transformed buffer.
Solved in a more generic way now. The metadata API is now registered with tags that describe what the metadata refers to. The downstream query is kept and passed to propose_allocation, this allows for more things than just the metadata to be proxied (also the allocators, for example). The videoconvert element copies all metadata that is not dependent on the colorspace. If no scaling is active, cropping info will therefore survive a videoconvert ! videoscale chain. Other videofilter elements will need similar support, we can't just always copy all the metadata, it depends on what the filter does.