]> git.sur5r.net Git - minitube/blobdiff - lib/media/src/mpv/mediampv.cpp
New upstream version 3.9.3
[minitube] / lib / media / src / mpv / mediampv.cpp
index 8a548b7b10b73caf63803c2dbe7264bf487c315b..4cad49da9394d2ac76708cfeb10612a396ae521f 100644 (file)
@@ -86,6 +86,7 @@ MediaMPV::MediaMPV(QObject *parent) : Media(parent), widget(nullptr) {
     mpv_observe_property(mpv, 0, "volume", MPV_FORMAT_DOUBLE);
     mpv_observe_property(mpv, 0, "mute", MPV_FORMAT_FLAG);
     mpv_observe_property(mpv, 0, "pause", MPV_FORMAT_FLAG);
+    mpv_observe_property(mpv, 0, "paused-for-cache", MPV_FORMAT_FLAG);
 }
 
 // This slot is invoked by wakeup() (through the mpvEvents signal).
@@ -200,6 +201,13 @@ void MediaMPV::handleMpvEvent(mpv_event *event) {
             }
         }
 
+        else if (strcmp(prop->name, "paused-for-cache") == 0) {
+            if (prop->format == MPV_FORMAT_FLAG) {
+                int pausedForCache = *(int *)prop->data;
+                setState(pausedForCache == 1 ? Media::BufferingState : Media::PlayingState);
+            }
+        }
+
         break;
     }