Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-60507

Phonon SeekSlider freezes application when dragged if tracking is set to true

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • Not Evaluated
    • None
    • 5.6.2
    • (Inactive) Phonon
    • None
    • linux gentoo 64-bit
      phonon 4.9.0
      phonon-vlc 0.9.0
      qt 5.6.2
      Kernel 4.10.1
      pulseaudio 10.0

    Description

      When playing streaming videos, if the phonon SeekSlider has setTracking(true), the entire application will lock up for minutes when the slider is dragged. This does not happen when simply clicking a point on the seek slider to seek.

      This only happens for streaming videos. I've tested this with youtube video streams as well as simple mp4 files uploaded to my web server.

      Example application to reproduce the issue:

      simpleplayer.cc
      #include <QApplication>
      #include <phonon/mediaobject.h>
      #include <phonon/videowidget.h>
      #include <phonon/seekslider.h>
      #include <phonon/audiooutput.h>
      
      int main(int argc, char* argv[])
      {
          if (argc != 2)
          {
              fprintf(
                  stderr,
                  "Usage: %s /path/to/file or http(s)://url\n",
                  argv[0]
              );
              return 1;
          }
      
          QApplication app(argc, argv);
      
          app.setApplicationName("Phonon Video Player");
      
          Phonon::MediaObject* obj = new Phonon::MediaObject();
          obj->setCurrentSource(
              QUrl(argv[1])
          );
      
          Phonon::VideoWidget* widget = new Phonon::VideoWidget();
          Phonon::createPath(obj, widget);
      
          Phonon::AudioOutput* audio =
              new Phonon::AudioOutput(Phonon::VideoCategory);
          Phonon::createPath(obj, audio);
      
          Phonon::SeekSlider* slider = new Phonon::SeekSlider();
          slider->setTracking(true);
          slider->setMediaObject(obj);
      
          widget->show();
          slider->show();
      
          obj->play();
      
          return app.exec();
      }
      
      simpleplayer.pro
      QT += widgets
      TEMPLATE = app
      TARGET = simpleplayer
      INCLUDEPATH += .
      LIBS += -lphonon4qt5
      INCLUDEPATH += /usr/include/phonon4qt5
      
      # Input
      SOURCES += simpleplayer.cc
      

      This also affects minitube (phonon-based youtube client), which is where I found this bug.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ablasche Alex Blasche
            lolisamurai Francesco Noferi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes