stagefrightrecorderstagefrightrecorder
Android MediaRecorder 小结
调用顺序
MediaRecorder.java
+- android_media_MediaRecorder.cpp
+- MediaRecorder.cpp
+- MediaPlayerService.cpp
+- MediaRecorderClient.cpp
+- StagefrightRecorder.cpp
重要的类
* MediaWriter
+- MPEG4Writer
* MediaSource
+- CameraSource
数据流向
Camera
|
| CameraListener#postDataTimestamp(raw frame)
|
\ /
CameraSource(MediaSource)
|
| read(raw frame)
|
\ /
OMXCodec Encoder(MediaSource)
|
| read(encoded frame)
|
\ /
MPEG4Writer(MediaWriter)
|
|
|
\ /
MP4 File
CameraSource 帧队列
List<sp<IMemory> > mFrames; // 帧
List<int64_t> mFrameTimes; // 帖的相对时间戳
read 消费者线程
dataCallbackTimestamp 生产者线程
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-50209-1.html
飞机对敌舰和空中飞行采取驱逐行动形成武力对峙
Great