Android For OMAP3 with Gstreamer Integration

来源:互联网 发布:蓝屏代码查询软件 编辑:程序博客网 时间:2024/06/05 20:56

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

Contents

[hide]
  • 1 Android port
  • 2 Source Code
  • 3 Download Android Build
  • 4 Build Compilation
  • 5 Kernel Image
  • 6 Copying Android RFS
  • 7 GStreamer
  • 8 Boot Arguments
  • 9 Install Video.apk
  • 10 Playing Video using GStreamer
  • 11 Debugging Android
  • 12 Enabling Network

Android port

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

  • Support for BeagleBoard
  • Support for OMAP3EVM platform
  • Android Toolchain's replacement with Embinux-Android Toolchain
  • GStreamer (0.10) integration
    • gst-plugins-bad
    • gst-plugins-base
    • gst-plugins-good
    • gst-plugins-ugly
    • gst-ffmpeg
    • gst-opemmax

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

  • http://source.android.com/download
  • http://source.android.com/download/using-repo

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 initsetprop 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

Retrieved from "http://labs.embinux.org/index.php/Android_For_OMAP3_with_Gstreamer_Integration"
原创粉丝点击