Audio PCM输出流程
来源:互联网 发布:淘宝批发 编辑:程序博客网 时间:2024/05/21 10:30
1、frameworks/base/media/java/android/media/AudioManager.java
createAudioPatch(){}
2、frameworks/base/media/java/android/media/AudioSystem.java
public static native int createAudioPatch();
3、frameworks/base/core/jni/android_media_AudioSystem.cpp
android_media_AudioSystem_createAudioPatch(){}
4、frameworks/av/media/libmedia/AudioSystem.cpp
status_t AudioSystem::createAudioPatch(){}
5、frameworks/av/services/audioflinger/PatchPanel.cpp
status_t AudioFlinger::PatchPanel::createAudioPatch()
6、frameworks/av/services/audioflinger/AudioFlinger.cpp
sp<AudioFlinger::PlaybackThread> AudioFlinger::openOutput_l()
{
AudioStreamOut *outputStream = new AudioStreamOut(outHwDev, outStream, flags);
PlaybackThread *thread;
thread = new DirectOutputThread(this, outputStream, *output, devices);
}
7、frameworks/av/services/audioflinger/Threads.cpp
ssize_t AudioFlinger::PlaybackThread::threadLoop_write()
{
ssize_t framesWritten = mNormalSink->write((char *)mSinkBuffer + offset, count);
}
8、frameworks/av/media/libnbaio/AudioStreamOutSink.cpp
ssize_t AudioStreamOutSink::write(const void *buffer, size_t count)
{
ssize_t ret = mStream->write(mStream, buffer, count * mFrameSize);
}
9、hardware/rockchip/audio/tinyalsa_hal/audio_hw.c
static ssize_t out_write()
{
ret = start_output_stream(out);
}
static int start_output_stream()
{
out->pcm[PCM_CARD] = pcm_open();
}
10、external/tinyalsa/pcm.c
struct pcm *pcm_open
{
snprintf(fn, sizeof(fn), "/dev/snd/pcmC%uD%u%c", card, device, flags & PCM_IN ? 'c' : 'p'); pcm->fd = open(fn, O_RDWR);
}
createAudioPatch(){}
2、frameworks/base/media/java/android/media/AudioSystem.java
public static native int createAudioPatch();
3、frameworks/base/core/jni/android_media_AudioSystem.cpp
android_media_AudioSystem_createAudioPatch(){}
4、frameworks/av/media/libmedia/AudioSystem.cpp
status_t AudioSystem::createAudioPatch(){}
5、frameworks/av/services/audioflinger/PatchPanel.cpp
status_t AudioFlinger::PatchPanel::createAudioPatch()
6、frameworks/av/services/audioflinger/AudioFlinger.cpp
sp<AudioFlinger::PlaybackThread> AudioFlinger::openOutput_l()
{
AudioStreamOut *outputStream = new AudioStreamOut(outHwDev, outStream, flags);
PlaybackThread *thread;
thread = new DirectOutputThread(this, outputStream, *output, devices);
}
7、frameworks/av/services/audioflinger/Threads.cpp
ssize_t AudioFlinger::PlaybackThread::threadLoop_write()
{
ssize_t framesWritten = mNormalSink->write((char *)mSinkBuffer + offset, count);
}
8、frameworks/av/media/libnbaio/AudioStreamOutSink.cpp
ssize_t AudioStreamOutSink::write(const void *buffer, size_t count)
{
ssize_t ret = mStream->write(mStream, buffer, count * mFrameSize);
}
9、hardware/rockchip/audio/tinyalsa_hal/audio_hw.c
static ssize_t out_write()
{
ret = start_output_stream(out);
}
static int start_output_stream()
{
out->pcm[PCM_CARD] = pcm_open();
}
10、external/tinyalsa/pcm.c
struct pcm *pcm_open
{
snprintf(fn, sizeof(fn), "/dev/snd/pcmC%uD%u%c", card, device, flags & PCM_IN ? 'c' : 'p'); pcm->fd = open(fn, O_RDWR);
}
阅读全文
0 0
- Audio PCM输出流程
- Audio PCM
- Audio PCM
- PCM (digital audio) plugins
- PCM (digital audio) interface
- audio中的pcm format
- zynq audio pcm DMA
- 【转】PCM Audio,PCM格式音频文件 详解
- PCM Audio and Wave Files
- PCM Audio and Wave Files
- android audio截取PCM数据
- PCM Audio and Wave Files 2
- Audio的raw 和 pcm的问题
- Audio系统调用流程
- audio flinger流程分析
- Audio的播放流程
- Audio 多媒体播放流程
- Android Audio 输出 OpenSL
- 有逼格的使用黑窗口命令-- bigger than bigger
- c++-06
- Android Studio配置文件路径修改
- MongoDB不修改代码实现php的旧驱动扩展php_mongo升级到新驱动扩展php_mongodb
- Android base字符串转化为bitmap格式 再转成ImageView
- Audio PCM输出流程
- navigation bar底部导航栏挡住屏幕其他控件处理
- java 强引用,软引用,弱引用,虚引用具体使用
- hibernate笔记-008-联合主键注解配置
- CSS常用精华锦集
- net-snmp配置
- elasticsearch 安装marvel
- eclipse安装后code=1错误
- 常见医疗扫描图像处理步骤