自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (8)
  • 收藏
  • 关注

转载 Gstreamer的同步机制

本文编译自gstreamer源代码中的文档,原文的路径是gstreamer/docs/design/part-synchronisation.txt。本文描述了Gstreamer的同步机制,Gstreamer中实现同步的组件如下:GstClock,是全局的,用于pipeline中的所有elements。 GstBuffer的timestamps。 buffers之前的NEW_S

2013-11-27 18:34:40 1771

转载 ffdemux_mpegts中时间戳的处理问题

ffdemux_mpegts是gstreamer的demux plugin,基于ffmpeg,在使用的时候发现处理实时流存在问题。先来描述一下问题,采用gst-launch命令启动转码,命令如下:gst-launch-0.10 udpsrc multicast-group=239.1.80.80 port=49500 ! queue ! ffdemux_mpegts name=de

2013-11-27 18:33:43 1170

转载 gstreamer应用程序调试

大型应用程序需要完善的debug及log,用于出错调试以及运行时的日志。gstreamer提供了灵活的调试和日志工具 - Gstreamer调试和日志子系统GstInfo。Gstreamer的调试和日志子系统是获取应用程序运行状况的途径。只有在Gstreamer程序初始化以后调试子系统才开始运行,比如调用gst_init()进行初始化。Gstreamer调试和日志子系统在应用程序运

2013-11-27 18:30:50 1744

翻译 Gstreamer架构 简介

本文给出了Gstreamer的总体设计。通过阅读本文可以了解Gstreamer的内部工作原理。本文编译自gstreamer源码中的文档,原文在源码中的位置是/gstreamer/docs/design/part-overview.txt。概述Gstreamer是一个libraries和plugins的集合,用于帮助实现各种类型的多媒体应用程序,比如播放器,转码工具,多媒体服务器等。

2013-11-27 18:28:50 1109

转载 C语言宏与单井号(#)和双井号(##)

C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP) /  do{ if

2013-11-20 19:30:18 761

转载 gstreamer插件工作原理与流程分析 .

gstreamer plugins的工作同所有的基于插件的程序的工作原理类似,本质上都是通过读取动态库实现的,只需要每个动态库都实现某一个特定的接口就可以了,比如XX_init等,gstreamer统一使用plugin_init。里面会有个像注册表一样的数据结构会存储所有的插件的信息。     (1)在应用程序启动时,会调用gst_init--->gst_init_check。gst_init

2013-11-20 19:04:58 1646

转载 gstreamer核心源码走读typefind原理和对象关系浅析(三)

mark>待完善 如需转载,请注明出处:本博客链接http://blog.csdn.net/acs713/article/details/7742976

2013-11-20 19:03:31 1116

转载 gstreamer核心源码走读typefind原理浅析(二) .

在我的上一篇文章里,谈到: 8)Filesrc最终会调用open函数打开文件。接着src组件状态也发生切换,创建一个task,最后把文件信息推送给typefind; 9) typefind会从src读取一部分数据然后送出typefind_callback,在callback里面创建合适的plugin。合适的plugin.   本文将从源码分析的角度,重点将这2步分析清楚。可以说,理解了

2013-11-20 19:01:20 1436

转载 gstreamer 核心源码source创建和识别typefind原理浅析(一) .

一般情况下,用户打开一个多媒体文件,gstreamer首先需要知道文件的类型,然后创建相应的解码器来解析这个文件,最终实现播放这个文件。     一个实现流程实例如下: (1)     app程序通知gstreamer会根据uri、文件路径,创建相应类型的src组件,一般为filesrc组件(element)) (2)     接着根据插件名创建type_find组件 (3)   

2013-11-20 19:00:26 944

转载 深入浅出gstreamer的调度模式 .

gstreamer的官方文档里,调度的英文是schedule. 什么是schedule? 它的英文解释为" to plan that something will happen at a particular time “.在gstreamer里,调度的意义跟它基本差不多。在gstreamer里,调度的目的主要有以下几个:      (1)在适当的时候通知每个元件去完成相应的任务,确保这些职责

2013-11-20 18:54:44 1262

转载 相见恨晚之gstreamer衬垫的激活

1.衬垫的激活        当一个bin(箱柜)的状态发生变化时,它里面的元件的状态是按照sink到source的顺序变化的,即先设置sink元件的新状态,再设置source元件的新状态。当状态变化是从ready变到pause时,元件的衬垫开始激活,为数据在元件之间的流动做准备。有些pad,还会启动一个任务(task),来驱动数据流。      对某个元件来说,它通常先激活它的sourc

2013-11-20 18:54:01 1128

转载 Gstreamer的音视频同步 .

一 概述    Gstreamer的音频视频同步,概括起来是一个比较大的问题,因为在网上可以看到很多音视频同步的办法。这里我们只看最普通的一种。以音频时钟做为参考时钟(要求参考时钟上的时间是线性递增的);生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳(一般包括开始时间和结束时间);在播放时,读取数据上的时间戳,同时参考当前参考时钟上的时间来安排播放(如果数据块上的时间大于参考时钟

2013-11-20 12:31:34 2746

转载 android mediaplayer + stagefright 框架图解

在android原生的媒体播放器中是由mediaplayerservice来控制媒体播放器的,在mediaplayerservice中创建了mediaplayer,在mediaplayer.java的native方法通过jni调用android_media_mediaplayer.cpp中的方法,接着往下调用mediaplayer.cpp中的方法,mediaplayer通过ipc机制调用media

2013-11-18 11:32:00 800

转载 stagefright简介

1、    StageFright介绍      Android froyo版本多媒体引擎做了变动,新添加了stagefright框架,并且默认情况android选择stagefright,并没有完全抛弃 opencore,主要是做了一个OMX层,仅仅是对 opencore的omx-component部分做了引用。stagefright是在MediaPlayerService这一层加入的,和 op

2013-11-18 10:14:02 1083

转载 Android的MediaPlayer架构介绍

本文主要介绍的是Android中很重要也最为复杂的媒体播放器(MediaPlayer)部分的架构。对于Android这样一个完整又相对复杂的系统,一个MediaPlayer功能的实现不在其具体的功能,而是具体功能如何适应Android系统Android MediaPlayer的主要具体实现在OpenCore的Player中,这部分不是本文的关注点。本文关注的是MediaPlayer系统的架构,其他

2013-11-18 01:35:32 978

转载 Android中深入研究Service .

关于Service,不管是Windows还是linux系统,相信大家应该遇到过很多自己解决不了的问题吧,那么本文来讲述一下Android手机系统中的Service .1 Service本质结构我们还是从Service的根本意义分析入手,服务的本质就是响应客户端请求。要提供服务,就必须建立接收请求,处理请求,应答客服端的框架。我想在Android Service设计者也会无时不刻

2013-11-18 01:30:31 697

转载 Android开机启动流程初探 .

第一步:启动linux1.Bootloader2.Kernel第二步android系统启动:入口为init.rc(system\core\rootdir)1./system/bin/service manager: Binder 守护进程;2.Runtime;3.Zygote :app-process/app-main;4.Start VM;5.Start serv

2013-11-18 01:28:26 841

转载 Android重量级开发之--提高android启动速度研究

大家都知道启动速度慢是智能操作系统的一个通病,Android也不例外,启动速度大概在1分钟左右,虽然日本有一个叫quick boot的一秒启动android的产品,但是毕竟是旁门左道。所以从常规来提高android的启动速度成了大家研究的重点,也是难点。下面将初步研究的一下经验跟大家分享一下。首先看一下android系统的启动流程:bootloader               

2013-11-18 01:27:20 1074

原创 Android中Media Framework浅析(一)——概述 .

刚刚开始研究Android中Media framwork,有必要做一下笔记和转载一些高人输出的成果。记录下我的足迹,也留给大家分享。由于我所有的开发是基于android 3.0 honeycomb版本,并且里面有一些涉及到Google TV的内容。这部分内容并不开源,我会尽量的将其略过,请大家谅解(转载)!

2013-11-18 01:18:10 1740

转载 Android中Media Framework浅析(二)——MediaServer

MediaServer是整个android中media部分的核心和灵魂。几乎所有与多媒体播放相关的内容都放在这里。包括了音视频的编解码以及显示输出。MediaServer的main函数位于frameworks/base/media/mediaserver/main_mediaserver.cpp中。函数非常简单:int main(int argc, char** argv){//获

2013-11-18 01:13:55 1344

ARM 指令 学习及讲解

很好的学习 指令很详解,有利于学习ARM 和嵌入式汇编开发!

2011-05-29

解析音视频解码-FFmpeg

介绍音频和视频的解码库-FFmpeg,及在Linux的编译。 以及相关的视频格式的区别

2010-09-02

非常实用-嵌入式浏览器

非常使用的嵌入式浏览器接受及原理,使用浏览器开发的初学者和提升提升者

2010-08-13

所有文件系统介绍和实现(全)

对于了解和学习文件系统的朋友有一定的帮助,文件系统对工作中的产品开发也有很大的帮助

2010-07-19

MFC 核心原理及方法

非常有用的MFC的介绍和学习,其中MFC的原理更适合与初学MFC的朋友

2010-07-19

SVN-1.4.6—setup.exe

共同分享SVN给软件开发带来的快乐!! 共同分享!!

2009-08-02

MTK源代码分析和文档资料

MTK源代码分析和文档资料 有利于仔细分析架构!

2009-08-02

MTK的MMI绝密资料

对于初学MTK的有一定的帮助哦!! 对于有经验的MTK方案开发的工程师也有一定参考意义!!

2009-08-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除