Table of Contents |
---|
Symptom
Occasionally, callers may hear stuttering audio when a UIO play is issued (i.e. Music on hold).
Reason for this issue
One possible root cause is a slow 'fetching cycle' of the application user-defined read() callbacks
Solution
The solution is to investigate the application 'fetch cycle' of the play buffers. If the application is doing a UIO play, and the application is NOT fetching its' 'uio_reads' fast enough, users can experience stuttering audio.
...
Data in buffer: FFFFFFFF
Data played: FFFFFFFF
Discussion
When using UIO for a play/record, the application provides the addresses of user-defined read( ), write( ) and lseek( ) functions by initializing the DX_UIO structure. These functions are used to play or record (read and/or write) to a non-standard storage media.
...
The deltas between reads within RTF logs for this visual is as followed:
START OF THE PLAY
11/05/2009 11:21:18.313 7016 7088 voice APPL libdxx dxxxB1C1 <:::: dx_playiottdata(0x7, 0x703be00, 0x0, 0x7033b7c, 0x8000)
11/05/2009 11:21:18.313 7016 7088 low DEBG StreamSource dxxxB1C1 ==<== ReadNextBuffer (m_TotalSize=2147483647)(m_RemainingLength=2147483647)
11/05/2009 11:21:18.313 7016 7088 voice APPL libdxx dxxxB1C1 ::::> dx_playiottdata returns 0
...
11/05/2009 11:22:51.344 7016 7340 voice APPL VoiceDevice dxxxB1C1 ::::> SendEvent TDX_PLAY
In this live site example, it was discovered the application was waiting between their uio_read() callbacks. This delay within the application was the root cause of the stuttering play effect.
Product list
Dialogic JCT-series Media Boards