- 博客(7)
- 资源 (22)
- 收藏
- 关注
原创 rtsp流媒体buffer填充的处理过程
NuPlayer流媒体播放器中从网络上取得的rtp包在解码和显示时所用buffer的填充和清空的机制,与stagefright框架播放本地视频时的处理流程类似。都是通过回调函数fillbuffer及emptybuffer来实现的。NuPlayer中的ACodec与Stagefright中的OMXCodec的作用相似。以下是rtsp流媒体中填充待解码的buffer,以及把解码后的buff
2012-03-23 16:53:32 12180 5
原创 ICS4.0.3创建NuPlayer的处理流程
ICS4.0.3中播放RTSP流媒体使用的播放器框架是NuPlayer,现在就分析创建NuPlayer的处理流程。1.创建Nulayer所做的处理在NuPlayerDriver::NuPlayerDriver()构造函数中:1.1 创建了ALooper对象mLooper,并调用了 mLooper->start函数,优先级为PRIORITY_AUDIO。 在ALooper:
2012-03-16 10:39:13 15537 12
原创 理解ICS Surface和SurfaceFlinger的处理流程
首先看下ISurfaceComposer接口ISurfaceComposer定义了基础接口,供客户端和Server端交互使用。ISurfaceComposer接口的派生类图示:------------------------------------------------------------------接口ISurfaceComposerClient->Bn
2012-03-16 10:30:44 4102
原创 设置RTSP, RTP和RTCP端口号
1.设置RTSP端口号设置RTSP端口号的处理位于ARTSPConnection.cpp文件中,首先从url中获取端口号,如果读取不到,则设置为默认端口554。代码处理如下:ARTSPConnection::ParseURL( const char *colonPos = strchr(host->c_str(), ':'); if (colonPos != NUL
2012-03-13 09:42:30 32923 1
原创 NuPlayer reset处理流程
1.NuPlayerDriver::reset() mPlayer->resetAsync();// 执行异步reset while (mResetInProgress) { // 等待reset完成,如果5秒未完成,则会出现ANR mCondition.wait(mLock); }2.NuPlayer::resetAsync()发送kWhatRe
2012-03-12 10:23:50 6649 1
原创 AudioPlayer的处理流程
首先需要注意的是,AudioPlayer处理的是已经解码后的数据1.创建AudioPlayer对象(1)在 AwesomePlayer::play_l()函数中创建了AudioPlayer对象,并且在AwesomePlayer.cpp文件中,只在此函数中创建过AudioPlayer对象 if (mAudioSource != NULL) { if (mAudioP
2012-03-05 13:16:12 11756 2
原创 视频码率,帧率和分辨率的联系与区别
视频码率,帧率和分辨率到底哪一个影响电影的清晰度码率:影响体积,与体积成正比:码率越大,体积越大;码率越小,体积越小。码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。也就是取样率(并不等同与采样率,采样率的单位是Hz,表示每秒采样的次数),单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件,但是文件体积与取样率是成正比的,所以几乎所有的编...
2012-03-01 09:23:50 142601 19
SGP.02_v3.2_updated.pdf
2020-08-17
《音视频开发进阶指南:基于Android与iOS平台的实践》第4章AudioPlayer的Android Studio工程源码
2019-04-26
安卓爱笑话ijoke
2015-08-04
Google Play services com.google.android.gms-7.8.93_(2104405-448)
2015-07-28
android个税通2.0
2011-07-06
android 天气预报软件
2010-11-19
Android秒表计时器安装文件
2010-08-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人