Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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