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

QMediaPlayer crashes with GStreamer backend

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.2.1, 5.5.1
    • Fix Version/s: 5.9.0 Beta 2
    • Component/s: Multimedia
    • Labels:
      None
    • Environment:
      Ubuntu 14.04 64-bit
      GStreamer 0.10
    • Commits:
      2c80a54fd0962704a0651f07a83952b17888fc04

      Description

      Hi,

      I am experiencing quite regular crashes within GStreamer backend of QMediaPlayer.
      I am using 2 instances of QMediaPlayer. First instance's life span is long and the second one is quite short.

      I've observed that during the construction of QMediaPlayer, QGstreamerPlayerSession is constructed as well.
      There gst_type_find_register is called which registers playlist type and a callback to be executed: playlistTypeFindFunction. Pointer to self (this) is also supplied to registration function.

      Now, I can see that sequence being called twice for both of QMediaPlayer objects. After some time, one of the players is deallocated and while using the remaining instance, quite often, it happens that playlistTypeFindFunction is called with a data pointing to already deallocated instance.

      I dont see any deregistration happening in desctructor of QGstreamerPlayerSession.

      I have attached a sample which can reproduce the issue.

      Cheers!

        Attachments

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

          Activity

            People

            Assignee:
            stromme Christian
            Reporter:
            enmaniac Albert Banaszkiewicz
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes