]> git.sesse.net Git - vlc/commitdiff
Qt: SeekSlider: don't show buffering < 1s
authorFrancois Cartegnie <fcvlcdev@free.fr>
Mon, 10 Mar 2014 19:41:05 +0000 (20:41 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Mon, 10 Mar 2014 19:44:43 +0000 (20:44 +0100)
modules/gui/qt4/util/input_slider.cpp
modules/gui/qt4/util/input_slider.hpp

index fd2f24ea89394c07e39e2247e6c3675fadbc725e..505b8a1b2a191f2eecb3994ab06e233305e9bd2b 100644 (file)
@@ -197,6 +197,8 @@ void SeekSlider::updatePos()
 
 void SeekSlider::updateBuffering( float f_buffering_ )
 {
+    if ( f_buffering_ < f_buffering )
+        bufferingStart = QTime::currentTime();
     f_buffering = f_buffering_;
     repaint();
 }
@@ -386,7 +388,10 @@ void SeekSlider::paintEvent( QPaintEvent *ev )
     {
         SeekStyle::SeekStyleOption option;
         option.initFrom( this );
-        option.buffering = f_buffering;
+        if ( QTime::currentTime() > bufferingStart.addSecs( 1 ) )
+            option.buffering = f_buffering;
+        else
+            option.buffering = 1.0;
         option.length = inputLength;
         option.animate = ( animHandle->state() == QAbstractAnimation::Running
                            || hideHandleTimer->isActive() );
index 3f42bb329bc1ab88e24e44d74e42b45c96173bb5..c8e48feacf7b7957845a0aef503067459c11931e 100644 (file)
@@ -36,6 +36,7 @@
 
 #include <QSlider>
 #include <QPainter>
+#include <QTime>
 
 #define MSTRTIME_MAX_SIZE 22
 
@@ -85,6 +86,7 @@ private:
     QTimer *seekLimitTimer;
     TimeTooltip *mTimeTooltip;
     float f_buffering;
+    QTime bufferingStart;
     SeekPoints* chapters;
     bool b_classic;
     bool b_seekable;