--- a/src/player/PlayerComponent.cpp
+++ b/src/player/PlayerComponent.cpp
@@ -313,41 +313,41 @@
   QUrl qurl = url;
   QString host = qurl.host();
 
-  QVariantList command;
+  QStringList command;
   command << "loadfile" << qurl.toString(QUrl::FullyEncoded);
   command << "append-play"; // if nothing is playing, play it now, otherwise just enqueue it
 
 #if MPV_CLIENT_API_VERSION >= MPV_MAKE_VERSION(2, 3)
-  command << -1; // insert_at_idx
+  command << QString::number(-1); // insert_at_idx
 #endif
 
-  QVariantMap extraArgs;
+  QStringList extraArgs;

   quint64 startMilliseconds = options["startMilliseconds"].toLongLong();
   if (startMilliseconds != 0)
-    extraArgs.insert("start", "+" + QString::number(startMilliseconds / 1000.0));
+    extraArgs.append("start=+" + QString::number(startMilliseconds / 1000.0));
 
   // we're going to select these streams later, in the preloaded hook
-  extraArgs.insert("aid", "no");
-  extraArgs.insert("sid", "no");
+  extraArgs.append("aid=no");
+  extraArgs.append("sid=no");
 
   m_currentSubtitleStream = subtitleStream;
   m_currentAudioStream = audioStream;
 
   if (metadata["type"] == "music")
-    extraArgs.insert("vid", "no");
+    extraArgs.append("vid=no");
 
-  extraArgs.insert("pause", options["autoplay"].toBool() ? "no" : "yes");
+  extraArgs.append("pause=" + QString(options["autoplay"].toBool() ? "no" : "yes"));
 
   QString userAgent = metadata["headers"].toMap()["User-Agent"].toString();
   if (userAgent.size())
-    extraArgs.insert("user-agent", userAgent);
+    extraArgs.append("user-agent=" + userAgent);
 
   // Make sure the list of requested codecs is reset.
-  extraArgs.insert("ad", "");
-  extraArgs.insert("vd", "");
+  extraArgs.append("ad=");
+  extraArgs.append("vd=");

-  command << extraArgs;
+  command << extraArgs.join(",");
 
   m_mpv->command( command);
 
@@ -851,7 +851,7 @@
     return;
   }
   double timeSecs = ms / 1000.0;
-  QVariantList args = (QVariantList() << "seek" << timeSecs << "absolute+exact");
+  QStringList args = (QStringList() << "seek" << QString::number(timeSecs) << "absolute+exact");
   m_mpv->command( args);
 }
 
