GNOME Bugzilla – Bug 684206
vp8enc element property name changes
Last modified: 2012-09-17 17:49:47 UTC
Just a quick heads-up: The GStreamer vp8enc element has moved from gst-plugins-bad into gst-plugins-good in GStreamer git master. For that change, some (a lot of) properties had to be changed. This change will be released with the 0.11.99 releases that are due today. gnome-shell appears to use vp8enc, so you will probably need to update your code for those property changes. In particular, the "quality" and "speed" properties are gone. It was deemed desirable to replace those with an API that is closer to the upstream library. tpm@zingle:~/devel/gnome-shell$ git grep vp8enc | grep -v po/ data/org.gnome.shell.gschema.xml.in.in: 'vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux' src/shell-recorder.c:#define DEFAULT_PIPELINE "vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux" src/shell-recorder.c: * the maximum possible value is 64 (limit of what vp8enc supports) src/shell-recorder.c: * The default value is 'vp8enc quality=8 speed=6 threads=%T ! queue ! webmmux' The simplest solution would be to just not set those two properties for now, until a suitable replacement configuration has been determined. Sorry for the inconvenience.
Created attachment 224498 [details] [review] recorder: Adjust default pipeline to GStreamer API break recorder: Adjust default pipeline to GStreamer API break Both 'quality' and 'speed' properties on the vp8enc element are gone. Thanks to Tim-Philipp Müller for the heads-up.
(In reply to comment #0) > Just a quick heads-up: > [...] > The simplest solution would be to just not set those two properties for now, > until a suitable replacement configuration has been determined. Unfortunately this is not a solution as it makes our recorder basically useless (i.e *very slow*) ... we used that options for a reason. The better fix would be to re-add the options until a suitable replacement is found / implemented.
Created attachment 224528 [details] output of gst-inspect-1.0 vp8enc
Created attachment 224530 [details] [review] recorder: Port to new gstreamer vp8enc api The speed and quality properties have been removed in favor of properties closer to the upstream library. Removing the properies from the pipeline would result into a huge slowdown so we have to map the old values to the new ones. According to the source code of the old vp8enc element quality maps to (int)(63 - quality * 6.2) for min_quantizer and max_quantizer, while speed maps to cpu-used = speed == 0 ? 0 : (speed - 1) So set min_quantizer and min_quantizer to 13, and cpu-used to 5 based on the above formulas.
Created attachment 224532 [details] [review] recorder: Port to new gstreamer vp8enc api The speed and quality properties have been removed in favor of properties closer to the upstream library. Removing the properies from the pipeline would result into a huge slowdown so we have to map the old values to the new ones. According to the source code of the old vp8enc element quality maps to (int)(63 - quality * 6.2) for min_quantizer and max_quantizer, while speed maps to cpu-used = speed == 0 ? 0 : (speed - 1) So set min_quantizer and min_quantizer to 13, and cpu-used to 5 based on the above formulas.
Review of attachment 224532 [details] [review]: Yes (you could add the code snippet where deadline is coming from to the commit message as well, but fine without imo)
Attachment 224530 [details] pushed as e71c016 - recorder: Port to new gstreamer vp8enc api Attachment 224532 [details] pushed as e71c016 - recorder: Port to new gstreamer vp8enc api