summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2014-04-30 10:46:20 +0300
committerJussi Kukkonen <jku@goto.fi>2014-06-23 14:14:54 +0300
commitb29a006a6fa397fadad6e331e12c17170ff0115b (patch)
tree1a8b5ebac54fb412b2a36cc01ba7fcbd4dd5fee6
parente9cae3c6e3a416d38a96cd884083ba8dc9fe5b34 (diff)
downloaddleyna-renderer-b29a006a6fa397fadad6e331e12c17170ff0115b.tar.gz
[Device] Update playspeed when rate is set
Modify renderer playback speed when org.mpris.MediaPlayer2.Player.Rate is changed when the renderer is playing. Fix issue #143: <https://github.com/01org/dleyna-renderer/issues/143> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
-rw-r--r--libdleyna/renderer/device.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/libdleyna/renderer/device.c b/libdleyna/renderer/device.c
index 7b3e8b2..e68cbc3 100644
--- a/libdleyna/renderer/device.c
+++ b/libdleyna/renderer/device.c
@@ -2616,8 +2616,19 @@ void dlr_device_set_prop(dlr_device_t *device, dlr_task_t *task,
}
if (g_strcmp0(set_prop->prop_name, DLR_INTERFACE_PROP_RATE) == 0) {
+ GVariant *state;
+
prv_set_rate(set_prop->params, cb_data);
- goto exit;
+
+ state = g_hash_table_lookup(device->props.player_props,
+ DLR_INTERFACE_PROP_PLAYBACK_STATUS);
+ if (!state || strcmp(g_variant_get_string(state, NULL), "Playing")) {
+ goto exit;
+ }
+
+ dlr_device_play(device, task, cb);
+ /* dlr_device_play completes task: no need for goto exit */
+ return;
}
if ((g_strcmp0(set_prop->prop_name, DLR_INTERFACE_PROP_VOLUME) != 0) &&