上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 51 下一页
摘要: 毛主席说过,没有调查,就没有发言权,所以一定要深入代码内部,探个究竟。1什么是并发并发是指多个进程”同时“对共享资源的访问,这样做势必会带来一些问题,我们称这种情况为竞态。2并发处理方法来看看Linux中两种常见的并发处理方法(1)自旋锁自旋锁定义include/linux/spinlock_types.h20 typedef struct {21 raw_spinlock_t raw_lock;22 #ifdef CONFIG_GENERIC_LOCKBREAK23 unsigned int break_lock;24 #endif25 #ifdef CONFIG_DEBUG_SPINLOC 阅读全文
posted @ 2012-01-31 15:09 移动应用开发 阅读(230) 评论(0) 推荐(0) 编辑
摘要: 基于duilib修改的版本上传了,叫wzduilib主要是为了不和duilib混淆。因为我可能有些地方移植或者修改做得不是很好,为了不败坏duilib的名声,所以命名为wzduilib。上传到https://github.com/weinyzhou/wzduilib上,需要的可以去下载一下。里面主要是针对wince做了移植和做了一些简单优化。csdn下载地址:http://download.csdn.net/detail/weinyzhou/4035734需要duilib的可以到duilib主页上下载 http://code.google.com/p/duilib/转载请保留此声明:http: 阅读全文
posted @ 2012-01-30 15:08 移动应用开发 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 利用ffmpeg做图像的pixel format转换你还在用libswscale吗?嘿嘿,过时啦!ffmpeg中有了新东西:libavfilter.使用它,可以完全代替libswscale,并且可以自动完成一些复杂的转换操作呢.libavfilter啊,用了都说好!但就是太复杂...如果你仅仅是做图像的pixel format处理,用libswscale是相当简单,可以看看最新的ffplay.c中的代码,被#if CONFIG_AVFILTER #endif包围的代码量非常大,而且让人一上来看得一头雾水,但为了赶潮流,我们还是得学习它啊...先弄清楚avfilter中的几个相关的概念(注意:如 阅读全文
posted @ 2012-01-30 14:20 移动应用开发 阅读(267) 评论(0) 推荐(0) 编辑
摘要: 明天是农历的三十夜了,时间过的真快,又一年的时间如同尘土飞扬而去,这段时间一直都在看ANDROID源码,当然在这里我就不说关于源码的问题,自我对其ANDROID4.0的观后感就是~比之前的2.2与2.3的都改进了好多,可能是我学疏才潜,在里面还有太多需要我去用时间来征服的节点,所以在这里就不敢自笔为是,所以就把简单的直接把API里的一些例子给搬出来,看看效果吧,一个一个的来,也顺便把里面的源码给直接贴出来,2011年虽然对我们来说是一个不可多得的一年,但是同样2012年更是让我们期待着跳越前栏的感觉,让我们共同展望2012年吧:这个例子很简单,先看我截的几张图吧:以上就是简单的动画截图,废话不 阅读全文
posted @ 2012-01-21 22:54 移动应用开发 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 线程当一个应用被启动,系统创建一个执行线程,叫做"main"。这个线程是十分重要的,因为它主管向用户界面控件派发事件。其中包含绘图事件。它也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。系统不会为每个组件的实例分别创建线程。所有运行于一个进程的组件都在界面线程中被实例化,并且系统对每个组件的调用都在这个线程中派发。 结果,响应系统调用的方法(比如报告用户动作的onKeyDown()或一个生命周期回调方法)永远在界面线程中进程。例如,当用户触摸屏幕上的一个按钮时,你的应用的界面线程把触摸 阅读全文
posted @ 2012-01-20 07:45 移动应用开发 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 接下来以一个实际的例子来看I2C设备驱动,就以drivers/i2c/i2c-dev.c为例。先看它的初始化和注销函数static int __init i2c_dev_init(void) { int res; printk(KERN_INFO "i2c /dev entries driver\n"); res = register_chrdev(I2C_MAJOR, "i2c", &i2cdev_fops); if (res) goto out; i2c_dev_class = class_create(THIS_MODULE, " 阅读全文
posted @ 2012-01-19 16:03 移动应用开发 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 在drivers/i2c/busses下包含各种I2C总线驱动,如S3C2440的I2C总线驱动i2c-s3c2410.c,使用GPIO模拟I2C总线的驱动i2c-gpio.c,这里只分析i2c-gpio.c。i2c-gpio.c它是gpio模拟I2C总线的驱动,总线也是个设备,在这里将总线当作平台设备处理,那驱动当然是平台设备驱动,看它的驱动注册和注销函数。static int __init i2c_gpio_init(void) { int ret; ret = platform_driver_register(&i2c_gpio_driver); if (ret) print.. 阅读全文
posted @ 2012-01-19 15:56 移动应用开发 阅读(730) 评论(0) 推荐(0) 编辑
摘要: 平台总线是内核实现的一条虚拟总线,Linux设备模型包含三个重要的元素,总线、设备和驱动,那看看平台总线又是怎样去实现的。首先看平台总线的定义: 946 struct bus_type platform_bus_type = { 947 .name = "platform", 948 .dev_attrs = platform_dev_attrs, 949 .match = platform_match, 950 .uevent = platform_... 阅读全文
posted @ 2012-01-19 15:23 移动应用开发 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1. Speex使用SDP当使用SDP来描述使用Speex格式的会话时,映射是下面这样的:o 媒体类型 ("audio") 在"m="行中指定媒体的名字。o 媒体子类型 ("speex") 在SDP "a=rtpmap"行中指定编码名字。所需的"rate"参数也在"a=rtpmap" 行中,表明时钟频率。o 参数 "ptime" 和 "maxptime" 分别在SDP 的"a=ptime"行和"a=maxp 阅读全文
posted @ 2012-01-18 16:25 移动应用开发 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 1. RTP Speex 头部RTP头部在[RFC3550]中定义。本文定义RTP头部中各字段的用法。Payload Type (PT): 本格式的负责类型号。Marker (M) bit: 此位被用来标志一段无声后有声的开始。打在有声数据的第一个包上。 Speex支持声音检测,可以在无声时不产生帧数据。所以包可能是非连续传输的。Extension (X) bit: 见RTP的规定。Timestamp: 一个32位的整数,表示一个包中第一帧的采样时间。2. Speex的RTP负载格式Speex的RTP负载如图1所示。本格式没有附加的头部,所以只什用标准的RTP头部 头部之后是一个或多个负载数据 阅读全文
posted @ 2012-01-18 13:23 移动应用开发 阅读(458) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 51 下一页