Gstreamer support on EVM816x
C Shell Python
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 43 commits ahead of prashantn:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


- libOMX_Core for DM81xx needs to be installed first, since it provides
from the EZSDK components


1) Copy the libz.* libraries which is part of the linux devkit as follows -
   cd ti-ezsdk_dm814x-evm_5_02_00_56/linux-devkit/arm-none-linux-gnueabi/usr/lib
   mkdir .libs
   cp libz.* ./.libs/

2) Change to the top level "gstreamer_ti" directory, and open the file named "Makefile.common" in your favorite editor (vi, emacs, etc.).
   Set the following variables at the top of the file:

    EZSDK_INSTALL_DIR:  Location of your EZSDK installation directory
    TARGET_ROOT_DIR:    Location of the target filesystem's root directory
                        on the Linux host machine.
    CROSS_COMPILER:     Cross compiler being used.  A default is chosen based
                        on the platform you are building for, but you can set
                        it explicitly to one of these values:
                            CS_2009Q1:  CodeSourcery v2009q1
    GST_TI_PLATFORM:    Set the platform variable (**)

** For DM816x/DM814x set GST_TI_PLATFORM=dm816x 

3) Export cross compiler location in your environment
% export PATH=<path_to_cs_installation>/arm-2009q1/bin:$PATH

4) Build the EZSDK components using the above OMX package.
% cd <path_to_your_ezsdk_installation>
% make clean
% make all

5) Execute this command from the top-level "gstreamer_ti" directory to build gstreamer packages:
% make all install VERBOSE=true

6) Copy from gstreamer_ti/ti_build/gst-openmax/ext/lib to /lib directory on target root filesystem.

9) Copy dm816xbm_m3video.xem3 and dm816xbm_m3vpss.xem3 firmware binaries from OMX package to /usr/share/ti/ti-media-controller-utils  directory on target root filesystem.

If you want less output during the build, you can omit the "VERBOSE=true"

By default, the GStreamer binaries will be installed to "/opt/gstreamer" on
the target, and some demonstration scripts will be installed to



 1) For the first time, after target bootup login as a root on target and "ldconfig" command
   target# ldconfig 

 2) Stop the matrix application launcher before running any gstreamer pipeline using the below command
   target# /etc/init.d/matrix-gui-e stop

 3) Export the following environment variables -
    export GST_REGISTRY=/tmp/gst_registry.bin
    export LD_LIBRARY_PATH=/opt/gstreamer/lib
    export GST_PLUGIN_PATH=/opt/gstreamer/lib/gstreamer-0.10
    export PATH=/opt/gstreamer/bin:$PATH
    export GST_PLUGIN_SCANNER=/opt/gstreamer/libexec/gstreamer-0.10/gst-plugin-scanner

 4) Use the following pipeline to run an MP4/MOV file containing H.264 video and AAC audio -
    gst-launch -v filesrc ! qtdemux name=demux demux.audio_00 ! queue ! faad ! alsasink demux.video_00 ! queue !  nal2bytestream_h264  !  omx_h264dec ! omx_scaler ! omx_ctrl display-mode=OMX_DC_MODE_1080P_60  ! gstperf ! omx_videosink