Android For OMAP3 with Gstreamer Integration

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

Contents

[hide]

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://labs.embinux.org/embinux-android-build/android-omap3/repo/android/platform/manifest.git -b gstreamer-cupcake-omap-beagle

For omap3evm

$repo init -u git://labs.embinux.org/embinux-android-build/android-omap3/repo/android/platform/manifest.git -b gstreamer-cupcake-omap-evm 
$repo sync

Note : For complete information about repo check following links

Build Compilation

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

Kernel Image

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

Kernel image is generated at following path.

BeagleBoard

~/Android_build/out/target/product/beagle/kernel

OMAP3EVM

~/Android_build/out/target/product/omap3evm/kernel

Copying Android RFS

$cd ~/Android_build/out/target/product/omap3evm
                         OR
$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

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

BeagleBoard

  • 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.

OMAP3EVM

  • 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
$setprop EXTERNAL_STORAGE_STATE mounted
$am broadcast -a android.intent.action.MEDIA_MOUNTED --ez read-only false -d  file:///sdcard
* Play Video from User Interface

NOTE

  • 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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值