Hi I have a problem with a TLV320 Codec. I use the dshare plugin to be able to play different sound on both channel of a stereo output. This is necessary because of our used AEC. When now a call is established the codec have an underrun and
the underrun is handled by alsa with a prepare (snd_pcm_direct_prepare) and a start (snd_pcm_dshare_start) command. After that we have no more playback! The playback path is going to snd_pcm_writei and there is a poll function which never returns. So it seems
that the inserted data is never played. The record path is working normally. This only accours when the sip call is built on. When the call is stable and the system is stressed to generate underruns, the underruns are handled normal.
When the codec is used with the hw plugin there is no problem with the underruns but the plugin uses different prepare (snd_pcm_hw_prepare) and start (snd_pcm_hw_start) functions. We also use usb codecs but this codecs works normally after the underrun. Does anybody knows the problem or can give me a hint where to look? Is there a possibility to avoid the first underrun? What is the difference about the underrun during a call and at the start?! Our asound.conf for the stereo output locks like: pcm_slave.LS_slave {
pcm "hw:CARD=tlv320aic3xaudi,DEV=0"
channels 2
rate 8000 buffer_size 64
period_size 32
}
pcm.LSL {
type dshare ipc_key 12345
slave LS_slave
bindings.0 0 hint.description "LS left"
}
pcm.LSR {
type dshare
ipc_key 12345 slave LS_slave bindings.0 1 hint.description "LS right" } pcm.MIC { type asym capture.pcm "plughw:CARD=tlv320aic3xaudi,DEV=0" hint.description "Mic" } |
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org