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

Passing custom gstreamer pipeline doesn't work with qtvideosink.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • Not Evaluated
    • None
    • 5.12.5
    • Multimedia
    • None
    • Linux/Wayland

    Description

      Despite what documentation says, looks like it is impossible to use custome pipeline with MediaPlayer

      https://doc.qt.io/qt-5/qml-qtmultimedia-mediaplayer.html#source-prop

       

       

      gst-pipeline: videotestsrc ! qtvideosink

       

       

       

      ar 18 00:29:43 rc.app: 18:29:43.651 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::showPrerollFrames(bool) false
      Mar 18 00:29:43 rc.app: 18:29:43.651 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::stop()
      Mar 18 00:29:43 rc.app: 18:29:43.652 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::setSeekable(bool) false
      Mar 18 00:29:43 rc.app: 18:29:43.653 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::loadFromUri(const QNetworkRequest&) QUrl("gst-pipeline: videotestsrc ! qtvideosink")
      Mar 18 00:29:43 rc.app: 18:29:43.662 app:0 Wrn: MFDApp: Error: " videotestsrc ! qtvideosink" : "no element \"qtvideosink\""
      Mar 18 00:29:43 rc.app: 18:29:43.663 app:0 Dbg: MFDApp: bool QGstreamerPlayerSession::pause()
      Mar 18 00:29:43 rc.app: 18:29:43.689 app:0 Wrn: MFDApp: GStreamer; Unable to pause - "gst-pipeline: videotestsrc ! qtvideosink"
      Mar 18 00:29:43 rc.app: 18:29:43.690 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::showPrerollFrames(bool) false
      Mar 18 00:29:43 rc.app: 18:29:43.998 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::setVideoRenderer(QObject*)
      Mar 18 00:29:43 rc.app: 18:29:43.999 app:0 Dbg: MFDApp: Set video output: QGstreamerVideoRenderer(0x7917b40)
      Mar 18 00:29:43 rc.app: 18:29:43.999 app:0 Dbg: MFDApp: Current sink: fakesink0 0x790c5d8 pending:  0x0 new sink: fakesink0 0x790c5d8
      Mar 18 00:29:43 rc.app: 18:29:43.999 app:0 Dbg: MFDApp: Video sink has not changed, skip video output reconfiguration
      Mar 18 00:29:44 rc.app: 18:29:43.999 app:0 Dbg: MFDApp: Video sink has chaged, reload video output
      Mar 18 00:29:44 rc.app: 18:29:44.000 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::setVideoRenderer(QObject*)
      Mar 18 00:29:44 rc.app: 18:29:44.002 app:0 Dbg: MFDApp: Set video output: QGstreamerVideoRenderer(0x7917b40)
      Mar 18 00:29:44 rc.app: 18:29:44.003 app:0 Dbg: MFDApp: Current sink: fakesink0 0x790c5d8 pending:  0x0 new sink: qgstvideorenderersink0 0x81862e8
      Mar 18 00:29:44 rc.app: 18:29:44.003 app:0 Dbg: MFDApp: Reconfigure video output
      Mar 18 00:29:44 rc.app: 18:29:44.003 app:0 Dbg: MFDApp: The pipeline has not started yet, pending state: QMediaPlayer::StoppedState
      Mar 18 00:29:44 rc.app: 18:29:44.005 app:0 Dbg: MFDApp: Video sink has chaged, reload video output
      Mar 18 00:29:44 rc.app: 18:29:44.005 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::setVideoRenderer(QObject*)
      Mar 18 00:29:44 rc.app: 18:29:44.005 app:0 Dbg: MFDApp: Set video output: QGstreamerVideoRenderer(0x7917b40)
      Mar 18 00:29:44 rc.app: 18:29:44.005 app:0 Dbg: MFDApp: Current sink: qgstvideorenderersink0 0x81862e8 pending:  0x0 new sink: qgstvideorenderersink0 0x81862e8
      Mar 18 00:29:44 rc.app: 18:29:44.005 app:0 Dbg: MFDApp: Video sink has not changed, skip video output reconfiguration
      Mar 18 00:29:44 rc.app: 18:29:44.006 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::showPrerollFrames(bool) true
      Mar 18 00:29:44 rc.app: 18:29:44.006 app:0 Dbg: MFDApp: bool QGstreamerPlayerSession::play()
      Mar 18 00:29:44 rc.app: 18:29:44.007 app:0 Wrn: MFDApp: GStreamer; Unable to play - "gst-pipeline: videotestsrc ! qtvideosink"
      Mar 18 00:29:44 rc.app: 18:29:44.007 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::showPrerollFrames(bool) false
      Mar 18 00:29:44 rc.app: 18:29:44.008 app:0 Dbg: MFDApp: Message from  streamsynchronizer0 : 64
      Mar 18 00:29:44 rc.app: 18:29:44.009 app:0 Dbg: MFDApp: Message from  playsink : 64
      Mar 18 00:29:44 rc.app: 18:29:44.009 app:0 Dbg: MFDApp: Message from  playbin0 : 64
      Mar 18 00:29:44 rc.app: 18:29:44.009 app:0 Dbg: MFDApp: "state changed: old: GST_STATE_NULL  new: GST_STATE_READY  pending: GST_STATE_PLAYING"
      Mar 18 00:29:44 rc.app: 18:29:44.009 app:0 Dbg: MFDApp: void QGstreamerPlayerSession::setSeekable(bool) false
      Mar 18 00:29:44 rc.app: 18:29:44.009 app:0 Dbg: MFDApp: Message from  streamsynchronizer0 : 64
      
      

       

       

      NOTE: this is Wayland embedded platform. Using waylandsink it is possible to play the  media but obviously it doesn't work nicely with the application.

      Attachments

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

        Activity

          People

            valentyn.doroshchuk Valentyn Doroshchuk
            elfoniok Lukasz Foniok
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes