Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Problems with GStreamer- video player (with phonon) on embedded Linux (Qt 4.8.4)
Forum Updated to NodeBB v4.3 + New Features

Problems with GStreamer- video player (with phonon) on embedded Linux (Qt 4.8.4)

Scheduled Pinned Locked Moved Mobile and Embedded
30 Posts 4 Posters 15.3k Views 1 Watching
  • 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.
  • S Offline
    S Offline
    SirToby
    wrote on last edited by
    #1

    Hey,

    First of all English isn't my mother language, so sorry if my English isn't perfect.

    I tried to develop a videoplayer for an ARM device (works with embedded linux). But I have some problems with GStreamer. I don't know exactly how to install the GStreamer on the ARM device. My steps so far:

    1. I crosscompiled the libraries for phonon (see http://qt-project.org/faq/answer/how_can_i_cross_compile_qt_embedded_with_phonon_support ).
    2. I crosscompild Qt 4.8.4 embedded Qt for arm (also with phonon, glib etc. ).
    3. I installed the nessasary Qt libraries on my ARM device (projects without phonon haven*t any problems).
    4. I installed all crosscompiled Qt plugins.
    5. I wrote (I’m using QtCreator) the videoplayer (works on ubuntu) and crosscompild the project.
    6. I didn’t' installed all crosscompiled Phonon libraries (not enough space on my arm device).
    7. But I installed the libraries (same path they are on my development system (ubuntu)) libffi and libgstreamer-0.10, because they were needed during crosscompilation of my application.

    Is there a possibility to crosscompiled my application with all dependency ( static ? ); so there is no need to install all phonon libraries on my arm device?
    Or has someone any other idea?

    Thank you all

    error:

    "Warning: You do not seem to have the base GStreamer plugins installed. All audio and video support has been disabled"
    Phonon::GStreamer::Backend: Failed to initialize GStreamer
    GStreamer-CRITICAL **: gst_object_ref: assertion 'object != NULL' failed
    GStreamer-CRITICAL **: gst_object_sink: assertion 'GST_IS_OBJECT (object)' failed
    [...]
    WARNING: Phonon::createPath: Cannot connect Phonon::MediaObject ( no objectName ) to Phonon::VideoWidget ( VideoWidget ).

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SirToby
      wrote on last edited by
      #2

      anybody? It would be great to get some ideas, they doesn't need to solve my problem - right now I haven't the faintest idea what could be my next stept to solve the problem...

      1 Reply Last reply
      0
      • S Offline
        S Offline
        shrikantd
        wrote on last edited by
        #3

        Seems like it is not able to find the libraries.

        Can you confirm that all necessary libraries are copied? if you have ldd for the target you can run it on your binary to check what libraries are not found

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          Hi and welcome to devnet,

          If your device can boot on the network you could use a NFS as root filesystem. That will give you enough space for you current development.

          In a second phase you can build Qt statically but beware of the licensing issues. You can also copy only the Qt libraries you are using i.e. if you don't make use of Sql you can avoid install 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
          • S Offline
            S Offline
            SirToby
            wrote on last edited by
            #5

            Thank you very much

            I checked with ldd and all the libraries are linked - thats fine. I copied all nessasrry Qt libs too.

            But right now I am not sure if the gstreamer plugin ( libphonon_gstreamer.so) can find or has all needed libraries - during compilation I had to include libffi.a and libgstreamer-0.10.a but I installed them on the device at the same path like on my developsystem. Any Idea how I can check that or where I have to install them- As mentioned I can't install all libs I crosscompiled for the phonon framework on the device

            Thanks again

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              You can try to run ldd on the plugins/libraries on your device to see if something is missing

              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
              • S Offline
                S Offline
                shrikantd
                wrote on last edited by
                #7

                Have you ensured that you have following packages installed?
                libgstreamer0.10-dev
                libgstreamer-plugins-base0.10-dev
                gstreamer0.10-plugins-good
                gstreamer0.10-plugins-bad

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SirToby
                  wrote on last edited by
                  #8

                  Thanks again

                  But I didn't solve my problem yet.

                  I tried ldd on my plugin ( libphonon_gstreamer.so): look okay right? libphonon.so.4 => /lib/libphonon.so.4 (0x4036c000)
                  libQtGui.so.4 => /lib/libQtGui.so.4 (0x403bb000)
                  libQtNetwork.so.4 => /lib/libQtNetwork.so.4 (0x40d05000)
                  libQtCore.so.4 => /lib/libQtCore.so.4 (0x40dfb000)
                  libpthread.so.0 => /lib/libpthread.so.0 (0x41150000)
                  libstdc++.so.6 => /lib/libstdc++.so.6 (0x41172000)
                  libm.so.6 => /lib/libm.so.6 (0x41244000)
                  libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x412e7000)
                  libc.so.6 => /lib/libc.so.6 (0x41310000)
                  libdl.so.2 => /lib/libdl.so.2 (0x4144d000)
                  librt.so.1 => /lib/librt.so.1 (0x4145b000)
                  /lib/ld-linux.so.3 (0x2a000000)

                  Btw in included the plugin, libffi and libgstreamer-0.10 like this , is that okay?

                  LIBS += -L/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend/ -lphonon_gstreamer

                  LIBS += -L/opt/x/lib/ -lffi -lgstreamer-0.10 -lgstbase-0.10

                  I also included after i read shrikantds post libgstbase (good and bad are optional for the gstreamer aren't they?) but sadly nothing...

                  I am really sorry I didn't figured it out yet...

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #9

                    You should rather have copied your QtEmbedded in the same folders on your arm device (libs and plugins and fonts). Meaning in /usr/local/Trolltech/QtEmbbeded-4.8.4.

                    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
                    • S Offline
                      S Offline
                      SirToby
                      wrote on last edited by
                      #10

                      thank your I copied my libs to /usr/local/Trolltech/QtEmbedded-4.8.4/lib but my application still isn't able to find the gstreamer plugin...

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #11

                        You also have to copy the plugins dir (at least the content that you use)

                        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
                        • S Offline
                          S Offline
                          SirToby
                          wrote on last edited by
                          #12

                          thanks but i already copied the complied plugin folder, the folder /usr/local/Trolltech/QtEmbedded-4.8.4/plugin I found on my development PC to my device.

                          1 Reply Last reply
                          0
                          • SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #13

                            Just to be sure: did you made a typo here with "plugin" ? Otherwise it's "plugins"

                            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
                            • S Offline
                              S Offline
                              SirToby
                              wrote on last edited by
                              #14

                              jep I'm sorry that's a typo, so for examle the libphonon_gstreamer.so is copied at:
                              /usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins/phonon_backend

                              1 Reply Last reply
                              0
                              • SGaistS Offline
                                SGaistS Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on last edited by
                                #15

                                Ok, then next step:
                                set this
                                @QT_DEBUG_PLUGINS=1@
                                on your command line before starting your application, that should give you the plugin loading error

                                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
                                • S Offline
                                  S Offline
                                  SirToby
                                  wrote on last edited by
                                  #16

                                  First of all thank you very much for your help SGaist, that's really great and very nice :)

                                  But I tried export QT_DEBUG_PLUGINS=1 befor starting my application, but nothing special happens (i also tried on my deveopment system, nothing, too)

                                  QT_DEBUG_PLUGINS=1

                                  ./phon -qws

                                  If I check that enviroment variable, it's set ...
                                  echo $QT_DEBUG_PLUGINS
                                  1

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #17

                                    Are you running a debug or release build of your application (Right now i'm not sure whether this could change the output when using QT_DEBUG_PLUGIN) ?

                                    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
                                    • S Offline
                                      S Offline
                                      SirToby
                                      wrote on last edited by
                                      #18

                                      mh I had release build but i changed to debug (CONFIG += debug) but QT_DEBUG_PLUGINS dosen't work..

                                      1 Reply Last reply
                                      0
                                      • SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #19

                                        Do you also have the debug lib from Qt on your target ?

                                        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
                                        • S Offline
                                          S Offline
                                          SirToby
                                          wrote on last edited by
                                          #20

                                          I wan't in town yesterday so I couldn't test that yesterday - sorry for that

                                          I'm sorry but I can't find the debug lib...I crosscompild my Qt again and added the option - debug... but no debug lib was created- and also with the libs I compiled with the debug options, the QT_DEBUG_PLUGINS dosn't work

                                          BTW I also set the PluginPath with QT_PLUGIN_PATH=... but that wasn't successful neither.

                                          Also included: qDebug()<<QLibraryInfo::location(QLibraryInfo::PluginsPath);
                                          It shows the correct Path("/usr/local/Trolltech/QtEmbedded-4.8.4-arm/plugins"
                                          ), where the plugin is installed...

                                          1 Reply Last reply
                                          0

                                          • Login

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