diff options
Diffstat (limited to 'kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp')
-rw-r--r-- | kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp b/kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp index b28b264..35efd80 100644 --- a/kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp +++ b/kaffeine/src/player-parts/libmpv-part/libmpv_part.cpp @@ -392,12 +392,26 @@ bool MpvPart::isStream() { return false; } +bool MpvPart::isSeekable() { + if (!m_mpv) return false; + + int result; + if (mpv_get_property(m_mpv, "seekable", MPV_FORMAT_FLAG, &result) < 0) { + return false; + } + return (bool)result; +} + void MpvPart::resetTime() { m_playtime->setText("0:00:00"); m_position->setValue(0); } void MpvPart::slotStartSeeking() { + if (!isSeekable()) { + emit setStatusBarText( i18n("Cannot seek current file!") ); + return; + } m_seeking = true; slotPause(true); } |