Android For OMAP3 with Gstreamer Integration

原创 2011年01月16日 16:04:00

This page describes how to port Android (integrated with GStreamer) to OMAP3 platforms (BeagleBoard & OMAP3EVM).



Android port

Current release of Android port for OMAP3 has following features/support

Source Code

Browse the git

Download Android Build

Follow these steps for downloading build from Embinux labs

$mkdir ~/Android_build
$cd ~/Android_build

For BeagleBoard

$repo init -u git:// -b gstreamer-cupcake-omap-beagle

For omap3evm

$repo init -u git:// -b gstreamer-cupcake-omap-evm 
$repo sync

Note : For complete information about repo check following links

Build Compilation

$cd ~/Android_build
$source build/
$choosecombo 1 1 beagle eng  --> For beagleboard
$choosecombo 1 1 omap3evm eng --> For omap3evm

Kernel Image

Current Embinux kernel for this Android port is derived from linux-omap-2.6.29.

Kernel image is generated at following path.





Copying Android RFS

$cd ~/Android_build/out/target/product/omap3evm
$cd ~/Android_build/out/target/product/beagle 
$mkdir ~/Android_RFS
$cp -a root/* ~/Android_RFS
$cp -a data/* ~/Android_RFS/data/
$cp -a system/* ~/ Android_RFS/system/
$cd ~/Android_RFS
$sudo chown -R root.root *
$sudo chmod -R 777 *


GStreamer is a widely supported multimedia framework in Linux world. It is a pipeline based multimedia framework which allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming, and editing.

NOTE : Our GStreamer port for Android is derived from Prajnashi's Android-GStreamer port.

Boot Arguments


  • console=ttyS2,115200n8 noinitrd root=/dev/mmcblk0p2 video=omapfb.mode=dvi:1280x720MR-24@50 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS2
    • Pass appropriate video mode for your display. Check this & this link for more information.


  • console=ttyS0,115200n8 noinitrd root=/dev/mmcblk0p2 init=/init rootfstype=ext3 rw rootdelay=1 nohz=off androidboot.console=ttyS0

Install Video.apk

Video.apk provides an easy to use User Interface through which you can play video files.

  • Download Video.apk
  • Copy to Android_RFS/system/apps/

Playing Video using GStreamer

Presently it supports only 3gp

* Copy video.3gp to first partition of sdcard
* Copy gst.conf from ~Android_build/external/gst-plugins-android/player to first partition of sdcard 
$mount -t vfat /dev/block/mmcblk0p1 /sdcard
$am broadcast -a android.intent.action.MEDIA_MOUNTED --ez read-only false -d  file:///sdcard
* Play Video from User Interface


  • Android uses opencore if gst.conf is not copied
  • Presently audio is not fully functional

Debugging Android

  • Execute $logcat from shell
  • Check if you can find *.dex files of android apps in /data/dalvik-cache

Enabling Network

  • Connect eth0 interface to usb hub via ethernet to usb converter
  • Edit init.rc from <Android_RFS>/init.rc
#basic network init
setprop net.dns1 <primary-dns-server-ip> 
  • Boot Beagle board
  • Execute following commands from minicom
$netcfg eth0 up
$netcfg eth0 dhcp

NOTE:- Enable appropriate driver for your "ethernet to usb converter" in kernel. Driver can be found at :-

│ -> DeviceDrivers │ │ -> Network device support (NETDEVICES[=y]) │ │ -> USB Network Adapters



Get Started With Continuous Integration For Your .NET (C#) Projects - Integrate Sonar

This is the 3rd post of this series on Getting Started With Continuous Integration For Your .NET (C#...
  • jewes
  • jewes
  • 2012-01-19 21:38
  • 5691

Get Started With Continuous Integration For Your .NET (C#) Projects - Test Your Project

In the previous post, the project is able to build when new code is checked in to the SCM.  In thi...
  • jewes
  • jewes
  • 2011-12-31 11:16
  • 1166

Get Started With Continuous Integration For Your .NET (C#) Projects - Build Your Project

In this post, I will recall my recent experience on continuous integration using Jenkins and Sonar i...
  • jewes
  • jewes
  • 2011-12-26 22:19
  • 2476

Building FFmpeg with libmp3lame for Android

The general idea is to create a static lame build (libmp3lame.a) using NDK, and then use it in the c...

Android – Froyo port for OMAP-3530 BeagleBoard

Android – Froyo port for OMAP-3530 BeagleBoard The objective of this project is to deliver a stable ...

ubuntu build gstreamer for android

ubuntu 14.04 android-ndk-r10e gstreamer-1.0-android-armv7-1.6.0 android studio 1.3 ----------------...
  • hhbgk
  • hhbgk
  • 2015-10-25 18:37
  • 2095

omap3 android ConfigureAndBuild

ConfigureAndBuild   Configure and Build   Prepare your host environmentHardwareSoftwareConfigure yo...

<Ejb3InAction> Sample03 for Weblogic - Session beans with lifecycle callbacks and @Resource inject

0. Prerequisite We take advantage of Weblogic attached sample db here, the data source has been co...

<Ejb3InAction> Sample03 for Glassfish - Session beans with lifecycle callbacks and @Resource inject

0. Prerequisite As sample01. 1. Customize general configuration As sample01 2. Customize...