Uploaded image for project: 'Qt Mobility'
  1. Qt Mobility
  2. QTMOBILITY-1663

Freezing when setting media source for a QMediaPlayer many times

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 1.1.2
    • Fix Version/s: 1.2.x
    • Component/s: Multimedia
    • Labels:
      None
    • Environment:
      MeeGo
    • Commits:
      ac9762e2dbc06d696c6c74825ee22ac1fc176d9c

      Description

      1. Example
      ===
      I'm implementing a mediaplayer application based on qt-mobility and qt-staging (qmlscene) which separated into 2 components QML and plugin. In the plugin has a class Video derives from QSGItem and it associates with a QMediaPlayer instance.

      class Video : public QSGItem
      {
        ...
        private:
          QMediaPlayer *m_player;
      }
      
      void Video::setSource(const QUrl & src)
      {
        if (m_source == src)
          return;
      
        m_source = src;
        qDebug() << "Video::setSource-->BEGIN";
        m_player->setMedia(m_source);
        qDebug() << "Video::setSource-->END";
        emit sourceChanged();
      }
      

      The application supports playlist.

      2. Steps leading to the bug
      ===

      • Launch the app
      • Add media contents (url) that are retrieves from tracker database
      • Click Previous and Next buttons many times

      3. Results
      ===
      The application is froze. Got output from the panel

      currentIndex ==========0
      Video::setSource-->BEGIN
      element name: uridecodebin0
      uridecodebin added
      Video::setSource-->END

      currentIndex ==========1
      Video::setSource-->BEGIN
      element name: uridecodebin1
      uridecodebin added
      Video::setSource-->END
      element name: inputselector2
      element name: inputselector3

      currentIndex ==========2
      Video::setSource-->BEGIN
      element name: uridecodebin2
      uridecodebin added
      Video::setSource-->END
      element name: inputselector4

      (<unknown>:9216): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed

      currentIndex ==========1
      Video::setSource-->BEGIN
      element name: uridecodebin3
      uridecodebin added
      Video::setSource-->END
      element name: inputselector5
      element name: inputselector6

      currentIndex ==========0
      Video::setSource-->BEGIN
      element name: uridecodebin4
      uridecodebin added
      Video::setSource-->END

      element name: inputselector7
      element name: inputselector8

      currentIndex ==========1
      Video::setSource-->BEGIN
      element name: uridecodebin5
      uridecodebin added
      Video::setSource-->END
      element name: inputselector9
      element name: inputselector10

      currentIndex ==========2
      Video::setSource-->BEGIN
      element name: uridecodebin6
      uridecodebin added
      Video::setSource-->END
      element name: inputselector11

      (<unknown>:9216): GLib-GObject-CRITICAL **: g_object_set: assertion `G_IS_OBJECT (object)' failed

      currentIndex ==========1
      Video::setSource-->BEGIN
      element name: uridecodebin7
      uridecodebin added
      Video::setSource-->END

      element name: inputselector12
      element name: inputselector13

      currentIndex ==========0
      Video::setSource-->BEGIN

      ---> The application is froze. Can not act it. It could not run to the next trace function "Video::setSource->END"

      4. Environment
      ===

      • MeeGo

      5. QtMobility
      ===

        Attachments

        For Gerrit Dashboard: QTMOBILITY-1663
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            poplavsk Dmytro Poplavskiy (Inactive)
            Reporter:
            raycad Nguyen Truong Duong
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes