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 684206 - vp8enc element property name changes
vp8enc element property name changes
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: general
3.5.x
Other Linux
: Normal blocker
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-09-17 12:19 UTC by Tim-Philipp Müller
Modified: 2012-09-17 17:49 UTC
See Also:
GNOME target: 3.6
GNOME version: ---


Attachments
recorder: Adjust default pipeline to GStreamer API break (2.44 KB, patch)
2012-09-17 12:31 UTC, Florian Müllner
none Details | Review
output of gst-inspect-1.0 vp8enc (11.00 KB, text/plain)
2012-09-17 16:41 UTC, Tim-Philipp Müller
  Details
recorder: Port to new gstreamer vp8enc api (2.86 KB, patch)
2012-09-17 17:00 UTC, drago01
committed Details | Review
recorder: Port to new gstreamer vp8enc api (2.91 KB, patch)
2012-09-17 17:23 UTC, drago01
committed Details | Review

Description Tim-Philipp Müller 2012-09-17 12:19:06 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.
Comment 1 Florian Müllner 2012-09-17 12:31:26 UTC
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.
Comment 2 drago01 2012-09-17 16:37:11 UTC
(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.
Comment 3 Tim-Philipp Müller 2012-09-17 16:41:02 UTC
Created attachment 224528 [details]
output of gst-inspect-1.0 vp8enc
Comment 4 drago01 2012-09-17 17:00:09 UTC
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.
Comment 5 drago01 2012-09-17 17:23:17 UTC
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.
Comment 6 Florian Müllner 2012-09-17 17:43:46 UTC
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)
Comment 7 drago01 2012-09-17 17:49:40 UTC
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