
Android Media
文章平均质量分 69
denisyq
这个作者很懒,什么都没留下…
展开
-
Android的MediaPlayer架构介绍
本文 主要介绍的是 Android 中很重要也最为复杂的媒体播放器( MediaPlayer )部分的架构。对于 Android 这样一个完整又相对复杂的系统 ,一个 MediaPlayer 功能 的实现不在其具体的功能,而是具体功能如何适应Android 系统 Android MediaPlayer 的主要具体 实现在 OpenCore 的 Player 中,这部分不是本文的关注点。本文关转载 2012-07-10 13:39:07 · 605 阅读 · 0 评论 -
Android binder机制分析-以MediaPlayer为例子
我的转载地址:http://blog.youkuaiyun.com/wujiangming/article/details/6237802这篇对binder机制分析的比较好,通过这个应该就可以对binder有个深刻的理解了-------------------------------------------------------------------------------------------转载 2013-04-03 13:54:57 · 877 阅读 · 0 评论 -
Android电话系统之-rild
copy from http://www.linuxidc.com/Linux/2011-04/33966p17.htm=======================================================================Rild是Init进程启动的一个本地服务,这个本地服务并没有使用Binder之类的通讯手段,而是采用了socket通讯这种方式。R转载 2013-04-07 10:48:24 · 623 阅读 · 0 评论 -
图文版stagefright arch 04 -- video buffer Empty/Fill
這篇文章將介紹Stagefright中是如何和OMX video decoder傳遞buffer。Buffer傳輸流程" border="0" alt="stagefright框架(四)-Video Buffer傳輸流程" src="http://blogimg.chinaunix.net/blog/upfile2/110209152303.jpg" width="500" style转载 2012-07-10 14:08:04 · 822 阅读 · 0 评论 -
图文版stagefright arch 03 -- how to choose decoder
在《Stagefright (1) – Video Playback的流程》中,我們並沒有詳述Stagefright是如何根據影片檔的類型來選擇適合的video decoder,現在,就讓我們來看一看。(1) Video decoder是在onPrepareAsyncEvent中的initVideoDecoder被決定的OMXCodec::Create()會回傳video转载 2012-07-10 14:06:29 · 470 阅读 · 0 评论 -
图文版stagefright Arch 01 -- AwesomePlayer playback flow
这个版本的stagefright讲述比较清晰明了,图片比较直观,opencore近期好像已经不用了,改成stagefright和nuplayer了。原出处地址:http://blog.sina.com.cn/s/blog_6e1b60990100tto4.html==================================================================转载 2012-07-10 13:59:19 · 1048 阅读 · 0 评论 -
图文版stagefright arch 02 -- Stagefright and OMX
tagefright的編解碼功能是利用OpenMAX框架,而且用的還是OpenCORE之OMX的實作,我們來看一下Stagefright和OMX是如何運作的。(1) OMX_InitOMXClient mClient;AwesomePlayer::AwesomePlayer(){ mClient.connect();}sta转载 2012-07-10 14:03:49 · 501 阅读 · 0 评论 -
图文版stagefright arch 05 -- video render
AwesomePlayer::onVideoEvent除了透過OMXCodec::read取得解碼後的資料外,還必須將這些資料(mVideoBuffer)傳給video renderer,以便畫到螢幕上去。(1) 要將mVideoBuffer中的資料畫出來之前,必須先建立mVideoRenderervoid AwesomePlayer::onVideoE转载 2012-07-10 14:09:18 · 729 阅读 · 0 评论 -
图文版stagefright arch 06 -- audio playback
到目前為止,我們都只著重在video處理的部分,對於audio卻隻字未提。這篇文章將會開始audio處理的流程。Stagefright中關於audio的部分是交由AudioPlayer來處理,它是在AwesomePlayer::play_l中被建立的。(1) 當上層應用程式要求播放影音時,AudioPlayer同時被建立出來,並且被啟動statu转载 2012-07-10 14:13:45 · 661 阅读 · 0 评论 -
图文版stagefright arch 07 -- Audio and Video Sync
講完了audio和video的處理流程,接下來要看的是audio和video同步化(synchronization)的問題。OpenCORE的做法是設置一個主clock,而audio和video就分別以此作為輸出的依據。而在Stagefright中,audio的輸出是透過callback函式來驅動,video則根據audio的timestamp來做同步。以下是詳細的說明:(1) 當call转载 2012-07-10 14:14:47 · 729 阅读 · 0 评论 -
Android OMX 01
1. AwesomePlayer的构造以前我也不怎么注意看构造函数,造成很多困扰,因为很多很重要的函数调用,是藏在构造里面的。AwesomePlayer就是一例 AwesomePlayer::AwesomePlayer(){ CHECK_EQ(mClient.connect(), (status_t)OK);}[OMXClinet.cpp]status_t OMXC原创 2013-04-09 16:38:48 · 1901 阅读 · 0 评论 -
Android OMX 02 -- [SoftOMXPlugin.cpp] add new Soft CODEC in stagefright/OMX
SoftOMXPlugin.cpp是管理CODEC Plugin的文件。SoftOMXPlugin::makeComponentInstance 是裏面的主要函數。。。我們看到的軟解類型,主要是有kComponents數組存儲kComponents[] = {....}在makeComponentInstance,lib_name會等於“libstagefright_sof原创 2013-04-10 15:58:05 · 1289 阅读 · 0 评论 -
android的audio系统
Android的Audio 系统第一部分 Audio系统综述第二部分 Audio系统和上层接口第三部分 Audio的硬件抽象层第一部分 Audio系统综述Audio系统在Android中负责音频方面的数据流传输和控制功能,也负责音频设备的管理。Audio系统主要的分成几个层次:1. media中库提供的Audio系统的上层接口2. AudioFlinger作为Aud转载 2013-04-02 11:24:41 · 677 阅读 · 0 评论 -
Android Audio 01 - Control Block
Audio CB: audio_track_cblk_tuserBase, serverBase, frameCount, stepUser, stepServer, buffer, frameAvailable, frameReadyuserBase: 写数据的基数位置serverBase: 读数据的基数位置FrameCount: 读写大小stepUser:更新写数据的位原创 2013-03-27 17:46:47 · 921 阅读 · 0 评论 -
Android Audio 02 - AudioTrack/AudioFlinger/AudioPolicyService 构架
Appre-----------> AT=audioTrack AF=audioFlinger APS=audioPolicyService AudioTrack:Java层的代码:1.getMinBufferSize ---->native原创 2013-04-01 11:04:10 · 818 阅读 · 0 评论 -
Android深入浅出之Binder机制
Android深入浅出之Binder机制一 说明 Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的。所以搞明白Binder的话,在很大程度上就能理解程序运行的流程。我们这里将以MediaService的例子来分析Binder的使用:l ServiceManager,这是Androi转载 2012-07-10 13:43:04 · 992 阅读 · 0 评论 -
StageFright框架流程解读
1、 StageFright介绍 Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃 opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和 op转载 2012-07-10 13:41:00 · 666 阅读 · 0 评论 -
苹果http视频点播技术
苹果http视频点播技术http://rainbird.blog.51cto.com/211214/507958iphone 直播解决方案官方文档: http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StreamingMe转载 2012-07-16 18:00:03 · 898 阅读 · 0 评论 -
live555 intro
liveMedia 项目(http://www.live555.com/)的源码包括四个基本的库、测试代码及Media Server。 四个基本库分别是:UsageEnvironment&TaskScheduler、groupsock、liveMedia、BasicUsageEnvironment。 (1) UsageEnvironment 和TaskScheduler类,用于事件调转载 2012-07-17 16:16:17 · 954 阅读 · 0 评论 -
M3U8 -- 1
###############伪装UA信息 返回M3U8#############D:\Andriod\SourceCode\android-4.0.3_r1\packages\apps\Browser\src\com\android\browser\BrowserSettings.java假装iPad的UA信息,让服务器返回m3u8public int getUserAgen原创 2012-07-19 17:20:46 · 2778 阅读 · 0 评论 -
NuPlayer for HTTP live streaming (ZZ)
NuPlayer for HTTP live streamingHTTP Live Streaming is separated from Stagefright on the recent release, which is basically another light-weighted playback engine, except it only supports the fi转载 2012-07-24 15:32:31 · 3168 阅读 · 0 评论 -
HTML5 Video Tag
Element-Specific AttributesThe following table shows the attributes that are specific to this tag/element.AttributeDescriptionsrcSpecifies the location of the video file.原创 2012-07-26 14:41:32 · 1155 阅读 · 0 评论 -
在StageFright中增加对FLV的支持
http://blog.youkuaiyun.com/bonderwu/article/details/6261798这个哥们没写的太全,权当是打个桩吧。目前android 4.0没有对flv有支持,不知道以后会不会有。所以更大厂商会自己在android source code中进行修补,尽量完成对主流视频媒体类型的全支持。原创 2012-07-26 15:01:11 · 764 阅读 · 0 评论 -
FFMPEG -- How to add one new CODEC
FFMPEG -- how to add a new codec#################################avcodec.h --> add a new CODEC_IDallcodecs.c --> register_decoder(SKY,sky)skydec.c --> AVCodec {int, decode,close}=====原创 2012-08-27 09:41:28 · 1077 阅读 · 0 评论 -
FFMPEG-avformat_open_input
original blog:http://wodamazi.iteye.com/blog/1293994store here in case for convenience.-----------------------------------------------------------------avformat_open_input//参数ps包含一切媒体相关的上下文结构,转载 2012-12-19 09:51:35 · 12274 阅读 · 7 评论 -
stagefright和opencore的对比
1引言Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,弃用之前的opencore,仅仅对opencore中的omx-component部分做了引用。Stagefright自android2.0后才添加,其稳定性有待商榷,是否存在bug也未知,opencore自android诞生起便存在,稳定性有保障转载 2013-03-14 13:45:00 · 673 阅读 · 0 评论 -
Android NDK r6编译FFmpeg 0.8.1
参考文章 http://www.cnblogs.com/shaobin0604/archive/2011/08/05/2128619.html---------------------------------------------------------------------------------------------------------------------------转载 2013-05-31 17:53:41 · 1052 阅读 · 0 评论