After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670741 - [0.11] basetransform: save downstream metadata supported APIs
[0.11] basetransform: save downstream metadata supported APIs
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
0.11.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-24 13:13 UTC by Philippe Normand
Modified: 2012-03-01 16:51 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
basetransform: save downstream proposed metadata APIs (3.59 KB, patch)
2012-02-24 13:16 UTC, Philippe Normand
none Details | Review
videofilter: forward downstream supported metadata APIs (3.08 KB, patch)
2012-02-24 13:17 UTC, Philippe Normand
none Details | Review

Description Philippe Normand 2012-02-24 13:13:58 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.
Comment 1 Philippe Normand 2012-02-24 13:16:25 UTC
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()
Comment 2 Philippe Normand 2012-02-24 13:17:48 UTC
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.
Comment 3 Wim Taymans 2012-03-01 16:51:59 UTC
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.