diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2014-04-30 10:46:20 +0300 |
---|---|---|
committer | Jussi Kukkonen <jku@goto.fi> | 2014-06-23 14:14:54 +0300 |
commit | b29a006a6fa397fadad6e331e12c17170ff0115b (patch) | |
tree | 1a8b5ebac54fb412b2a36cc01ba7fcbd4dd5fee6 /libdleyna | |
parent | e9cae3c6e3a416d38a96cd884083ba8dc9fe5b34 (diff) | |
download | dleyna-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>
Diffstat (limited to 'libdleyna')
-rw-r--r-- | libdleyna/renderer/device.c | 13 |
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) && |