mediarecorder调用流程
来源:互联网 发布:windows 10 安全模式 编辑:程序博客网 时间:2024/06/13 05:59
MediaRecordertest.java
MediaRecorder.java
android_media_mediarecorder.cpp
MediaRecorder.cpp(BpMediaRecorder)
|
Binder
|
MediaPlayerService::createMediaRecorder
new MediaRecorderClient(class MediaRecorderClient : public BnMediaRecorder)
new StagefrightRecorder(struct StagefrightRecorder : public MediaRecorderBase)
StagefrightRecorder::startMPEG4Recording()
mWriter = new MPEG4Writer(dup(mOutputFd))
setupAudioEncoder(const sp& mWriter)
createAudioSource()
audioSource=new AudioSource(mAudioSource,mSampleRate,mAudioChannels)-->mRecord = new AudioRecord(inputSource, sampleRate, AudioSystem::PCM_16_BIT,channels > 1? AudioSystem::CHANNEL_IN_STEREO: AudioSystem::CHANNEL_IN_MONO,4 * kMaxBufferSize / sizeof(int16_t), flags);
audioEncoder =OMXCodec::Create(client.interface(), encMeta,true, audioSource);
setupVideoEncoder(&encoder)
mCamera=setupCameraSource
cameraSource = CameraSource::CreateFromCamera(mCamera)-->new CameraSource(mCamera)
encoder = OMXCodec::Create(client.interface(), enc_meta,true , cameraSource);
mWriter->addSource(encoder)--Track *track = new Track(this, source);-->mTracks.push_back(track);
mWriter->start(meta.get())
MPEG4Writer::start
startWriterThread
pthread_create(&mThread, &attr, ThreadWrapper, this)
MPEG4Writer::threadFunc()
mChunkReadyCondition.wait(mLock);
writeChunks()
writeFirstChunk
addSample_l
fwrite(mFile)
startTracks
mTracks.begin().start
MPEG4Writer::Track::start
mSource->start
pthread_create(&mThread, &attr, ThreadWrapper, this)
MPEG4Writer::Track::ThreadWrapper
threadEntry
mSource->read(&buffer))
mChunkSamples.push_back(buffer);
bufferChunk
mChunkReadyCondition.signal()唤醒MPEG4Writer::threadFunc()
MediaRecorder.java
android_media_mediarecorder.cpp
MediaRecorder.cpp(BpMediaRecorder)
- mediarecorder调用流程
- mediarecorder调用流程
- MediaRecorder流程分析
- MediaRecorder流程分析
- MediaRecorder framework层的处理流程
- MediaRecorder framework层的处理流程
- MediaRecorder
- MediaRecorder
- MediaRecorder
- MediaRecorder
- mediarecorder中的方法以及工作流程的过程
- MediaRecorder流程分析 java层到stagefright层
- mediarecorder中的方法以及工作流程的过程
- Android之mediarecorder中的方法以及工作流程的过程
- Android调用系统摄像头--使用MediaRecorder--2--使用MediaRecorder进行录制
- Android调用系统摄像头--使用MediaRecorder--2--使用MediaRecorder进行录制
- Android调用系统摄像头--使用MediaRecorder--2--使用MediaRecorder进行录制
- Android调用系统摄像头--使用MediaRecorder--1--预览(preview)功能
- Symbian编程总结-基础篇-活动对象正解(3)-活动对象的工作原理
- 概率题:生成序列长度的期望(人搜)
- 概率题:10序列的期望长度(人搜)
- 虚幻4技术Demo震撼发表 GTX680运算 画质已逼近《阿凡达》级别
- The GNU C Reference Manual
- mediarecorder调用流程
- unreal engine4效果很不错
- StagefrightPlayer的OpenMax调用流程
- c语言多文件 6410 led裸机程序
- 已知二叉树先序遍历,中序遍历创建二叉树并输出后序遍历
- Symbian编程总结-基础篇-活动对象正解(4)-异步函数的同步调用
- 抽象类和接口联系与区别
- Excel解析
- 比“虚幻4”还牛逼的游戏引擎 到底有多神奇?