mediaplayer: workaround race condition with agl-service-mediaplayer service 29/14229/1
authorMatt Ranostay <matt.ranostay@konsulko.com>
Thu, 7 Jun 2018 03:25:25 +0000 (20:25 -0700)
committerMatt Ranostay <matt.ranostay@konsulko.com>
Thu, 7 Jun 2018 04:04:14 +0000 (21:04 -0700)
On some startups the agl-service-mediaplayer triggers an event during QML + UI
load which causes it to be dropped. Delaying for 300 milliseconds seems to workaround
this issue, but needs to be replaced with a proper method in the future.

Bug-AGL: SPEC-1496
Change-Id: Iefd825f79b19c422a153b3d77b4d3a472c13c372
Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
app/main.cpp

index 8fa8117..4713fdb 100644 (file)
@@ -31,6 +31,8 @@
 #include <bluetooth.h>
 #include <mediaplayer.h>
 
+#include <unistd.h>
+
 int main(int argc, char *argv[])
 {
     QString myname = QString("MediaPlayer");
@@ -98,6 +100,9 @@ int main(int argc, char *argv[])
 
         context->setContextProperty("mediaplayer", new Mediaplayer(bindingAddress));
         context->setContextProperty("bluetooth_connection", new Bluetooth(bindingAddress));
+
+        usleep(300000);
+
         engine.load(QUrl(QStringLiteral("qrc:/MediaPlayer.qml")));
         QObject *root = engine.rootObjects().first();
         QQuickWindow *window = qobject_cast<QQuickWindow *>(root);