GNOME Bugzilla – Bug 681719
audiovisualizer does not handle VideoMeta
Last modified: 2013-04-01 20:16:36 UTC
This makes it hard to use for hardware acceleration.
commit c6e19d5df2740aa7f940af1ff255166e619c5b00 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Mon Aug 13 13:47:01 2012 +0200 visual: add support for GstVideoFrame Add support for GstVideoMeta and GstVideoFrame. Remove some redundant fields that are also in GstVideoInfo Disable the shader code, it looks broken. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
Created attachment 221012 [details] [review] port to VideoMeta and provide vfuncs for negotiation This patch provides the option for the subclass to decide the allocation query parameters (decide_allocation). There may be other vfuncs that would be useful to copy from BaseTransform as well such as query, start, stop or even prepare_output_buffer. Most of the code was copy-pasted from either BaseTransform or VideoFilter.
It seems that Wim beat me to it :)
Could you update to the current code?
Created attachment 221022 [details] [review] add vfuncs for negotiation
*** Bug 681760 has been marked as a duplicate of this bug. ***
Wim, what looks broken on the shader code. So far it was working.
I changed a couple of things. commit ef8e17f993283252f06151c8a2d6035a9dc12e7a Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Tue Jan 29 10:18:06 2013 +0100 visualizer: improve allocation Based on patch by Matthew Waters Add private data Add decide_allocation vmethod Refactor bufferpool negotiation Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
This makes totem crash almost instantly for me: (totem:7009): GStreamer-CRITICAL **: gst_query_set_nth_allocation_pool: assertion `index < array->len' failed (totem:7009): GStreamer-CRITICAL **: gst_query_set_nth_allocation_pool: assertion `index < array->len' failed ** ERROR:gstaudiovisualizer.c:992:default_prepare_output_buffer: assertion failed: (priv->pool != NULL)
Created attachment 238835 [details] [review] handle non-existant pool in default allocation query This should fix it.
Thanks! commit 4f1ba51c4bf1b04867976ad081057c2d06ae36bb Author: Matthew Waters <ystreet00@gmail.com> Date: Thu Mar 14 11:15:29 2013 +1100 visualizer: handle non-existant pool in the default allocation query gst_query_set_nth_allocation_pool() requires there to be a pool in the query already. This is not always the case when we get the query from upstream. Use gst_query_add_allocation_pool() instead in such case. https://bugzilla.gnome.org/show_bug.cgi?id=681719