Running QtMediaHub on Trident Shiner

From Qt Wiki
Jump to: navigation, search

Assumptions

  1. Qt 4.8.0 is configured, built and installed as per Trident Shiner
  2. Can run "GstTsPlayer" or "miniplayer" on reference board to test media playback alongside any simple OpenGL ES 2.0 application
  3. The video playback plane is behind the graphics plane
  4. "QTDIR" and "PATH" environment variables are set to use Qt 4.8.0 cross compiled and installed for Trident Shiner in your build terminal

Getting Source

You can get the latest source code from gitorious https://gitorious.org/qtmediahub. You can use sync-to-head to update your sources to latest version

Note that we are in the process of moving the git repositories to the qt.io.

Multimedia Playback Support

QMH uses "platform specific media player application" (in Trident Shiner's case it is either "GstTsPlayer" or "miniplayer" ) to have media playback facility. This is achieved using "out of process integration" which means:-

    1. Using a "QProcess" object start platform specific media player
    2. Write to this "QProcess" object to pass playback commands
    3. Read from this "QProcess" object to receive feedback

Trident Shiner's GstTsPlayer specific media control integration can be found in files mediaplayerTridentShinerGstTsPlayer.h and mediaplayerTridentShinerGstTsPlayer.cpp

Trident Shiner's miniplayer specific media control integration can be found in files mediaplayerTridentShinerMiniplayer.h and mediaplayerTridentShinerMiniplayer.cpp

Configuring

Use " -media-backend TRIDENT_SHINER_GSTTSPLAYER" configure option to enable multimedia playback capability of QMH using GstTsPlayer

cd /path/to/qtmediahub/ /path/to/qtmediahub/configure -media-backend TRIDENT_SHINER_GSTTSPLAYER

Use " -media-backend TRIDENT_SHINER_MINIPLAYER" configure option to enable multimedia playback capability of QMH using miniplayer

cd /path/to/qtmediahub/ /path/to/qtmediahub/configure -media-backend TRIDENT_SHINER_MINIPLAYER

Building

Build QMH as follows

cd /path/to/qtmediahub/ make

Installing

As installation of QMH on Trident Shiner reference board copy entire "qtmediahub" directory so that its path is exactly same as that on build machine.

Running QMH on Qt 4.8 (QWS)

Setup QTDIR, QWS_KEYBOARD, QWS_MOUSE_PROTO and LD_LIBRARY_PATH environment variables as follows

export QTDIR=/path/to/installed/qt-everywhere-opensource-src-4.8.0/ export QWS_KEYBOARD="LinuxInput:/dev/input/event0" //Use appropriate device node export QWS_MOUSE_PROTO="LinuxInput:/dev/input/event1" //Use appropriate device node export LD_LIBRARY_PATH=${QTDIR}/lib/:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"/path/to/qtmediahub/qtmediahub-core/hub/lib/"

Rum QMH as follows to use OpenGL ES 2.0

cd /path/to/qtmediahub/ /path/to/qtmediahub/qtmediahub-core/hub/bin/qtmediahub -qws -keyboard -mouse -display eglnullws:size=1280x720 -skin=confluence -overlayMode=true -opengl-usage=true -opengl-viewport=true -opengl-format-hack=false

Rum QMH as follows to use DirectFB

cd /path/to/qtmediahub/ /path/to/qtmediahub/qtmediahub-core/hub/bin/qtmediahub -qws -display directfb -skin=delphin -overlayMode=true -opengl-usage=false -opengl-viewport=false -opengl-format-hack=false

Rum QMH as follows to use Linux Frame Buffer

cd /path/to/qtmediahub/ /path/to/qtmediahub/qtmediahub-core/hub/bin/qtmediahub -qws -display -keyboard -mouse linuxfb -skin=confluence— -overlayMode=true -opengl-usage=false -opengl-viewport=false -opengl-format-hack=false