Playback stops after underrun

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux