ALSA PCM

1440阅读 0评论2015-02-14 Meacheal
分类:Android平台

/dev/snd/pcmC0D0c -->MultiMedia1-->msm-pcm-dsp-->msm-pcm-q6-v2.c PCM Record
/dev/snd/pcmC0D0p -->MultiMedia1-->msm-pcm-dsp-->msm-pcm-q6-v2.c PCM PlayBack 
/dev/snd/pcmC0D2c -->CS-Voice-->msm-pcm-voice-->msm-pcm-q6-v2.c CS Voice TX
/dev/snd/pcmC0D2p -->CS-Voice-->msm-pcm-voice-->msm-pcm-q6-v2.c CS Voice RX

/dev/snd/pcmC0D0p 

enum {
SNDRV_PCM_STREAM_PLAYBACK = 0,
SNDRV_PCM_STREAM_CAPTURE,
SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE,
};


//msm-pcm-q6-v2.c
    msm_pcm_probe
        struct msm_pcm_loopback *pcm;
            struct snd_pcm_substream *playback_substream;
                struct snd_pcm *pcm;
            struct snd_pcm_substream *capture_substream;


Open:
     
snd_pcm_f_ops       pcm_native.c
        snd_pcm_playback_open
            snd_pcm_open
                snd_pcm_open_file
                    snd_pcm_open_substream
                        substream->ops->open(substream)
                            msm_pcm_open   //msm-pcm-q6-v2.c
                                
每打开一次都是一个substream.
                                     
上一篇:audio policy service
下一篇:hifi dsd es9018