diff --git a/src/Lib/AbstractMediaContext.hh b/src/Lib/AbstractMediaContext.hh
index 2a9448b4c9334b6c7b86ae0d04166cce51c8348b..4bdd3d32256f9dca96a3cbbd2ddcb38f2e8f1327 100644
--- a/src/Lib/AbstractMediaContext.hh
+++ b/src/Lib/AbstractMediaContext.hh
@@ -101,7 +101,7 @@ public:
 
     quint64 getDuration() const noexcept
     {
-        return quint64(std::chrono::duration<qreal, std::ratio<1, 1000>>(
+        return quint64(std::chrono::duration_cast<std::chrono::milliseconds>(
                            std::chrono::microseconds(dataFormat->duration))
                            .count());
     }
@@ -195,7 +195,7 @@ public:
     quint64 getDuration() const noexcept
     {
         // The whole file duration, not individual streams.
-        return quint64(std::chrono::duration<qreal, std::ratio<1, 1000>>(
+        return quint64(std::chrono::duration_cast<std::chrono::milliseconds>(
                            std::chrono::microseconds(format->duration))
                            .count());
     }