GNOME Bugzilla – Bug 721950
assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
Last modified: 2014-03-05 19:41:51 UTC
This patch makes the assrender element handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API since in this case it only places the correct meta on outgoing buffers. This is useful when an hardware decoder is used and a downstream element supports the overlay composition meta.
Created attachment 265955 [details] [review] assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API
This doesn't look right to me. You can't just claim to support everything on your template caps and error out if you get something you don't like. Defeats negotiation.
Review of attachment 265955 [details] [review]: See https://bugzilla.gnome.org/show_bug.cgi?id=721953#c4 Also same as in videobalance and deinterlace applies to both.
Created attachment 268076 [details] [review] assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API Patch updated: * based on https://bugzilla.gnome.org/show_bug.cgi?id=721953 method.
Review of attachment 268076 [details] [review]: Looks good. Is the bug in gstpad fix ? if not, make this bug blocked please, and only push when only fixed.
Also only push once I reviewed the textoverlay patch
Review of attachment 268076 [details] [review]: Which GstPad fix? But the patch is almost good to be merged, some minor comments here ::: ext/assrender/gstassrender.c @@ +185,3 @@ "Sebastian Dröge <sebastian.droege@collabora.co.uk>"); + + klass->sw_template_caps = gst_static_caps_get (&sw_template_caps); There's no point in storing static caps in the class, just get them whenever needed. @@ +573,3 @@ + GST_CAPS_INTERSECT_FIRST); + } + If you first unref and then append it is more efficient as the simple caps can then just be taken directly instead of copying them @@ +611,3 @@ + + /* if peer returns ANY caps, return src pad template caps */ + caps = gst_caps_copy (gst_pad_get_pad_template_caps (srcpad)); Apply filter here @@ +674,2 @@ + /* if peer returns ANY caps, return sink pad template caps */ + caps = gst_caps_copy (gst_pad_get_pad_template_caps (sinkpad)); Apply filter here
Created attachment 270797 [details] [review] assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API Patch updated, according to latest comments. Thanks for the reviews.
Comment on attachment 270797 [details] [review] assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverlayCompositionMeta API Good to go after we have the second textoverlay test. I want to be sure that this concept works.
commit 4da4dfc4bfd8ecc51236ad872687fd21a4056274 Author: Matthieu Bouron <matthieu.bouron@collabora.com> Date: Fri Jan 10 17:38:09 2014 +0000 assrender: handle video/x-raw(ANY) if downstream supports the GstVideoOverla https://bugzilla.gnome.org/show_bug.cgi?id=721950