Running QtMediaHub on ST7105
Assumptions
- Qt 4.8.0 is configured, built and installed as per ST7105
- Can run STM's "Test-Tool" on reference board to test media playback.
- "QTDIR" and "PATH" environment variables are set to use Qt 4.8.0 crosscompiled and installed for ST7105 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 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 ST7105 reference board.
cd /root/
export MODULES_INSTALL_DIR=/root/modules
export LD_LIBRARY_PATH=/lib:/usr/lib:/root/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/modules/load_modules.sh && /root/main_iptv7105_7105_ST40_LINUX_32BITS.out </tmp/stapp_fifo2 >/tmp/stapp_log 2>&1 & )
sleep 10
( while [ 1 ] ; do cat /tmp/stapp_fifo >/tmp/stapp_fifo2 ; done & )
sleep 10
echo '' > /tmp/stapp_fifo
sleep 10
echo 'VTG_SETMODE 0 +33' > /tmp/stapp_fifo
sleep 10
echo '' > /tmp/stapp_fifo
sleep 10
( source /root/modules/load_fb.sh HD )
sleep 10
ST7105 specific media control integration can be found in files mediaplayerST7105.h and mediaplayerST7105.cpp
Configuring
Use " -media-backend ST7105" configure option to enable multimedia playback capability of QMH
cd /path/to/qtmediahub/
/path/to/qtmediahub/configure -media-backend ST7105
Building
Build QMH as follows
cd /path/to/qtmediahub/
make
Installing
As installation of QMH on ST7105 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 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