summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Ferrandis <ludovic.ferrandis@intel.com>2013-07-17 16:46:21 +0200
committerRegis Merlino <regis.merlino@intel.com>2013-07-18 10:14:28 +0200
commit11b34ca222a44f202eb411bd78f8a506e5dcdf1d (patch)
tree95d4daf0b6d3bd83064c16ac8b86e770da9e7769
parent1d8ac2ecc8dbd0c8ec1d0a2af2a3ca3f62f06f30 (diff)
downloaddleyna-renderer-11b34ca222a44f202eb411bd78f8a506e5dcdf1d.tar.gz
[Device] Fix #78: MPRIS OpenUri() does not start playing
Fix issue #78: <https://github.com/01org/dleyna-renderer/issues/78> Signed-off-by: Ludovic Ferrandis <ludovic.ferrandis@intel.com>
-rw-r--r--libdleyna/renderer/device.c20
-rwxr-xr-xtest/dbus/cap.py1
-rwxr-xr-xtest/dbus/slidepush.py1
3 files changed, 18 insertions, 4 deletions
diff --git a/libdleyna/renderer/device.c b/libdleyna/renderer/device.c
index 174e090..675f3f8 100644
--- a/libdleyna/renderer/device.c
+++ b/libdleyna/renderer/device.c
@@ -2513,15 +2513,31 @@ static void prv_open_uri_cb(GUPnPServiceProxy *proxy,
upnp_error->message);
g_error_free(upnp_error);
- goto exit;
+ goto on_error;
}
prv_reset_transport_speed_props(cb_data->device);
-exit:
+ if (cb_data->task.type == DLR_TASK_OPEN_URI) {
+ cb_data->action =
+ gupnp_service_proxy_begin_action(
+ cb_data->proxy,
+ "Play",
+ prv_simple_call_cb,
+ cb_data,
+ "InstanceID", G_TYPE_INT, 0,
+ "Speed", G_TYPE_STRING,
+ cb_data->device->rate, NULL);
+ goto on_exit;
+ }
+
+on_error:
(void) g_idle_add(dlr_async_task_complete, cb_data);
g_cancellable_disconnect(cb_data->cancellable, cb_data->cancel_id);
+
+on_exit:
+ return;
}
void dlr_device_open_uri(dlr_device_t *device, dlr_task_t *task,
diff --git a/test/dbus/cap.py b/test/dbus/cap.py
index 79f2efb..07dcbb7 100755
--- a/test/dbus/cap.py
+++ b/test/dbus/cap.py
@@ -51,7 +51,6 @@ class Renderer:
self.__playerIF.Stop()
uri = self.__hostIF.HostFile(fname)
self.__playerIF.OpenUri(uri)
- self.__playerIF.Play()
class Renderers:
diff --git a/test/dbus/slidepush.py b/test/dbus/slidepush.py
index ef779ac..1222962 100755
--- a/test/dbus/slidepush.py
+++ b/test/dbus/slidepush.py
@@ -62,7 +62,6 @@ class Renderer:
self.__playerIF.Stop()
uri = self.__hostIF.HostFile(fname)
self.__playerIF.OpenUri(uri)
- self.__playerIF.Play()
class Renderers: