- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 音频播放不能深度睡眠のAudioOutLock
android流程中,在AudioHardware::AudioStreamOutALSA::write的时候,会acquire_wake_lock (PARTIAL_WAKE_LOCK, "AudioOutLock"),这个锁如果没有释放,在睡眠前的检测环节中,将导致不能进入深
2011-09-16 00:41:48 3068 1
转载 工作队列分析 queue_work
一、用法 struct cpu_workqueue_struct { spinlock_t lock; long remove_sequence; /* Least-recently added (next to run) */ long insert_s
2011-09-15 15:35:55 12480
原创 android device 注册、添加、管理
注册:函数调用设备挂到电源管理的函数调用关系是(依次往下调用)audio_card_init (函数类型包含__init 初始化调用)platform_device_adddevice_adddevice_pm_addlist_add_tail(最直接的链
2011-09-15 00:11:00 3299
转载 kernel barrier 定义说明
#ifndef barrier# define barrier() __memory_barrier()#endif 这里表示如果没有定义barrier函数,则定义barrier()函数为__memory_barrier()。但在内核
2011-09-09 10:00:27 2072
原创 Android音频流程三(各种类及主要方法)
AudioTrack音轨创建:AudioTrack::createTrack1)AudioSystem::get_audio_flinger2)AudioSystem::getOutputSamplingRate3)AudioSystem::getOutp
2011-09-06 21:13:44 5408 1
原创 Android音频流程二(Binder部分)
2、libmedia MediaPlayer至MediaPlayerService (binder)client和service之间的通信通过android binder机制,只是对于用户而言是透明的。继续按照上面play调用流程,上面已经调用到了framewor
2011-09-06 21:09:48 3336 1
原创 Android音频流程一(JNI部分)
1、Music.apk至java MediaPlayer 至 libmedia MediaPlayer (JNI)Start是Java空间代码,在框架层的frameworks/base/media/java/android/media/mediaPlayer.java中,
2011-09-06 21:05:44 6031
原创 AudioHardware::AudioStreamOutALSA::write
以数据为导向,分析代码,音频流程ssize_t AudioHardware::AudioStreamOutALSA::write(const void* buffer, size_t bytes){ // LOGV("AudioStreamOutALS
2011-09-06 15:30:42 3843
原创 AudioFlinger::MixerThread::threadLoop
1、进程的创建int AudioFlinger::openOutput(uint32_t *pDevices, uint32_t *pSamplingRate,
2011-09-05 19:57:59 7676 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人