|
|
| (5 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| h1. Running QtMediaHub on ST7540
| | #Redirect [[Running QtMediaHub on ST7540]] |
| | |
| == Assumptions ==
| |
| | |
| # Qt 4.8.0 is configured, built and installed as per "ST7540":http://wiki.qt.io/ST7540
| |
| # Can run STM’s “Test-Tool” on reference board to test OpenGL ES 2.0 and media playback.
| |
| # "QTDIR" and "PATH" environment variables are set to use Qt 4.8.0 cross compiled and installed for ST7540 in your build terminal
| |
| | |
| == Getting Source ==
| |
| | |
| You can get the latest source code from gitorious "https://gitorious.org/qtmediahub":https://gitorious.org/qtmediahub.
| |
| You can use "sync-to-head":http://gitorious.org/qtmediahub/qtmediahub/blobs/master/scripts/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 ST's case it is the Test-Tool) to have media playback facility.
| |
| This is achieved using "out of process integration" which means:-
| |
| | |
| ## Start "Test-Tool" in background and redirect a FIFO ("/tmp/stapp_fifo2") to "Test-Tool"s STDIN
| |
| ## Redirect "Test-Tool"'s STDOUT and STDERROR to a normal file ("/tmp/stapp_log")
| |
| ## QMH issues commands to "platform specific media player application" to another FIFO ("/tmp/stapp_fifo")
| |
| ## Have an arrangement to transfer data from FIF0 ("/tmp/stapp_fifo") to FIFO ("/tmp/stapp_fifo2")
| |
| ## And QMH collects the feedback by reading "platform specific media player application"'s STDOUT and STDERROR
| |
| | |
| This is achieved using following shell (commands in a init) script on ST7540 reference board.
| |
| | |
| <code>
| |
| cd /root/app
| |
| mkdir -p /dev/fusion
| |
| | |
| export MODULES_INSTALL_DIR=/root/app/modules
| |
| export LD_LIBRARY_PATH=/lib:/usr/lib:/root/app/modules:$LD_LIBRARY_PATH
| |
| | |
| rm -f /tmp/stapp_fifo /tmp/stapp_fifo2 /tmp/stapp_log
| |
| mkfifo /tmp/stapp_fifo
| |
| mkfifo /tmp/stapp_fifo2
| |
| | |
| source /root/initapp.sh && cd /root/app/ && ./bsptestapp_dvb </tmp/stapp_fifo2 >/tmp/stapp_log 2>&1 &
| |
| sleep 30
| |
| while [ 1 ] ; do cat /tmp/stapp_fifo >/tmp/stapp_fifo2 ; done &
| |
| sleep 30
| |
| echo '' > /tmp/stapp_fifo
| |
| sleep 30
| |
| </code>
| |
| | |
| ST7540 specific media control integration can be found in files "mediaplayerST7540.h":http://gitorious.org/qtmediahub/qtmediahub-core/blobs/master/src/mediaplayer/mediaplayerST7540.h and "mediaplayerST7540.cpp":http://gitorious.org/qtmediahub/qtmediahub-core/blobs/master/src/mediaplayer/mediaplayerST7540.cpp
| |
| | |
| == Configuring ==
| |
| | |
| Use " -media-backend ST7540" configure option to enable multimedia playback capability of QMH
| |
| | |
| <code>
| |
| cd /path/to/qtmediahub/
| |
| /path/to/qtmediahub/configure -media-backend ST7540
| |
| </code>
| |
| | |
| == Building ==
| |
| | |
| Build QMH as follows
| |
| | |
| <code>
| |
| cd /path/to/qtmediahub/
| |
| make
| |
| </code>
| |
| | |
| == Installing ==
| |
| | |
| As installation of QMH on ST7540 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
| |
| | |
| <code>
| |
| 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/"
| |
| </code>
| |
| | |
| Rum QMH as follows to use OpenGL ES 2.0
| |
| | |
| <code>
| |
| 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
| |
| </code>
| |
| | |
| Rum QMH as follows to use DirectFB
| |
| | |
| <code>
| |
| 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
| |
| </code>
| |
| | |
| Rum QMH as follows to use Linux Frame Buffer
| |
| | |
| <code>
| |
| cd /path/to/qtmediahub/
| |
| /path/to/qtmediahub/qtmediahub-core/hub/bin/qtmediahub -qws -keyboard -mouse -display linuxfb -skin=confluence— -overlayMode=true -opengl-usage=false -opengl-viewport=false -opengl-format-hack=false
| |
| </code>
| |