Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. GStreamer configuration
Forum Update on Monday, May 27th 2025

GStreamer configuration

Scheduled Pinned Locked Moved Unsolved General and Desktop
gstreamerqt multimedia
4 Posts 2 Posters 2.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mrFicve
    wrote on 4 Aug 2016, 10:48 last edited by
    #1

    Hi everyone.

    I'm working on a QML/C++ app that is deployed to Linux. I'm using a Video QML component to play streaming video which uses GStreamer v. 1.x as the backend.

    I want to be able to configure the GStreamer backend, specifically by setting properties on the playbin gstelement that is created in QGstreamerPlayerSession in QT Multimedia. The way I achieve this now is by patching qgstreamerplayersession.cpp, enabling me to set the properties in the constructor of QGstreamerPlayerSession.

    Do you have any ideas of a better/cleaner way to do this without patching Qt Multimedia?

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 4 Aug 2016, 20:30 last edited by
      #2

      Hi and welcome to devnet,

      AFAIK, no you can't without patching QtMultimedia. What properties do you need to modify ? Must it be done a construction time ?

      If you need to manipulate the GStreamer pipeline the QtGstreamer module might be an interesting alternative.

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mrFicve
        wrote on 5 Aug 2016, 07:36 last edited by
        #3

        Thank you.

        I've added the following lines to the QGstreamerPlayerSession constructor:

        flags |= GST_PLAY_FLAG_BUFFERING;
        g_object_set(G_OBJECT(m_playbin), "buffer-size", 5000000, NULL);
        

        I'm not sure that it has to be done at construction but maybe just before actually playing something. But I don't see a way for me to get access to the m_playbin instance from outside code.

        QtGStreamer looks like a nice alternative, but I would have to integrate it with QML by myself? I also prefer to be working with vanilla Qt.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          SGaist
          Lifetime Qt Champion
          wrote on 7 Aug 2016, 19:44 last edited by
          #4

          Indeed, you can't do it without modifying Qt even if you add a control to the plugin to modify that parameter.

          QtGstreamer provides a QML sink so you don't have to implement it.

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0

          4/4

          7 Aug 2016, 19:44

          • Login

          • Login or register to search.
          4 out of 4
          • First post
            4/4
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups
          • Search
          • Get Qt Extensions
          • Unsolved