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 690056 - renderer: Add playback speeds support
renderer: Add playback speeds support
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: general
git master
Other Linux
: Normal enhancement
: ---
Assigned To: rygel-maint
rygel-maint
Depends on:
Blocks:
 
 
Reported: 2012-12-11 17:11 UTC by cguiraud
Modified: 2012-12-14 22:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
renderer: Add playback speeds support (9.93 KB, patch)
2012-12-11 17:11 UTC, cguiraud
needs-work Details | Review
v2 - reworked based on v1 review comments (9.71 KB, patch)
2012-12-13 09:18 UTC, cguiraud
committed Details | Review

Description cguiraud 2012-12-11 17:11:55 UTC
Created attachment 231290 [details] [review]
renderer: Add playback speeds support 

- allow to specify value other than 1.0 for playback speed.
- allowed playback speed values to be specified by the renderer player plugins.
- add the X_DLNA_PS to the result of GetCurrentTransportAction invoked from a renderer. (not used for image media)

I tried to add the multiple playback speed support to the renderer playbin plugin by using GStreamer "seek_events", but it wasn't working smoothly enough (big latency), so I gave up.
Comment 1 Jens Georg 2012-12-12 19:48:44 UTC
Review of attachment 231290 [details] [review]:

This is missing the implementation for the C example, but as that's broken completely more or less, that's ok.

Apart from the style comments, looks fine. Thanks.

::: src/librygel-renderer/rygel-av-transport.vala
@@ +512,2 @@
         action.get ("Speed", typeof (string), out speed);
+        if ((speed in this.player.allowed_playback_speeds) == false) {

if (!(speed in this.player.allowed_playback_speeds)) {

::: src/librygel-renderer/rygel-player-controller.vala
@@ +97,3 @@
+                foreach (var speed in this.player.allowed_playback_speeds) {
+                    if (speed != "1") {
+                        if (play_speeds == "")

missing { and }

::: src/plugins/mpris/rygel-mpris-player.vala
@@ +212,3 @@
+    {
+         foreach (var r in _allowed_playback_speeds) {
+             assert (rational[1] != "0");

missing { }
Comment 2 cguiraud 2012-12-13 09:18:08 UTC
Created attachment 231453 [details] [review]
v2 - reworked based on v1 review comments

Fixed coding style