[vlc-commits] [Git][videolan/vlc][master] Qt: Prevent buffering display when seeking by adding timeout

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Mar 14 12:20:30 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
c30670ce by Ujjawal Kumar at 2025-03-14T11:58:47+00:00
Qt: Prevent buffering display when seeking by adding timeout

- - - - -


1 changed file:

- modules/gui/qt/player/qml/SliderBar.qml


Changes:

=====================================
modules/gui/qt/player/qml/SliderBar.qml
=====================================
@@ -394,12 +394,36 @@ T.ProgressBar {
             property int bufferAnimPosition: 0
             property int bufferFrames: 1000
             property alias animateLoading: loadingAnim.running
+            property bool display: false
+            property bool buffering: Player.buffering > 0 && Player.buffering < 1
 
             height: control.barHeight
             opacity: 0.4
             color: theme.fg.neutral //FIXME buffer color ?
             radius: control.barHeight
 
+            Timer {
+                id: bufferingTimer
+                interval: VLCStyle.humanMoment
+                repeat: false
+                running: false
+                onTriggered: {
+                    bufferRect.display = true
+                }
+            }
+
+            onBufferingChanged: {
+                if(buffering)
+                {
+                    bufferingTimer.start()
+                }
+                else
+                {
+                    bufferingTimer.stop()
+                    bufferRect.display = false
+                }
+            }
+
             states: [
                 State {
                     name: "hidden"
@@ -425,7 +449,7 @@ T.ProgressBar {
                 },
                 State {
                     name: "time to start playing known"
-                    when: control.visible && Player.buffering < 1
+                    when: control.visible && bufferRect.display
                     PropertyChanges {
                         target: bufferRect
                         width: Player.buffering * parent.width
@@ -436,7 +460,7 @@ T.ProgressBar {
                 },
                 State {
                     name: "playing from buffer"
-                    when: control.visible && Player.buffering === 1
+                    when: control.visible && !bufferRect.display
                     PropertyChanges {
                         target: bufferRect
                         width: Player.buffering * parent.width



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c30670ce0a7ce8f2c3900ac72251e173b59afeae

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/c30670ce0a7ce8f2c3900ac72251e173b59afeae
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list