[asterisk-bugs] [Asterisk 0011259]: Jitterbuffer does not work well with injected sound

Asterisk Bug Tracker noreply at bugs.digium.com
Tue Aug 5 19:16:44 CDT 2008


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=11259 
====================================================================== 
Reported By:                plack
Assigned To:                putnopvut
====================================================================== 
Project:                    Asterisk
Issue ID:                   11259
Category:                   Core/Jitterbuffer
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Asterisk Version:            SVN 
SVN Branch (only for SVN checkouts, not tarball releases):  1.4  
SVN Revision (number only!): 89125 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             2007-11-15 10:28 CST
Last Modified:              2008-08-05 19:16 CDT
====================================================================== 
Summary:                    Jitterbuffer does not work well with injected sound
Description: 
Using the following in the dial plan:
exten => 208,1,Noop
exten => 208,n,Set(LIMIT_WARNING_FILE=beep)
exten => 208,n,Dial(SIP/5001||L(36000000:36000000:15000))

the injected beep file is not passing through the jitterbuffer properly. 
If you look at the additional information, the jitterbuffer is off by the
number of frames required to send the audio.

Audio quality is impacted and there is a loss of packets during the
transmission of the beep tone.
====================================================================== 

---------------------------------------------------------------------- 
 (0091121) svnbot (reporter) - 2008-08-05 19:16
 http://bugs.digium.com/view.php?id=11259#c91121 
---------------------------------------------------------------------- 
Repository: asterisk
Revision: 135841

_U  branches/1.4/
U   branches/1.4/apps/app_skel.c
U   branches/1.4/include/asterisk/abstract_jb.h
U   branches/1.4/main/abstract_jb.c
U   branches/1.4/main/channel.c
U   branches/1.4/main/fixedjitterbuf.h

------------------------------------------------------------------------
r135841 | mmichelson | 2008-08-05 19:16:43 -0500 (Tue, 05 Aug 2008) | 27
lines

Merging the issue11259 branch.

The purpose of this branch was to take into account
"burps" which could cause jitterbuffers to misbehave.
One such example is if the L option to Dial() were used
to inject audio into a bridged conversation at regular
intervals. Since the audio here was not passed through
the jitterbuffer, it would cause a gap in the jitterbuffer's
timestamps which would cause a frames to be dropped for a 
brief period.

Now ast_generic_bridge will empty and reset the jitterbuffer
each time it is called. This causes injected audio to be handled
properly.

ast_generic_bridge also will empty and reset the jitterbuffer
if it receives an AST_CONTROL_SRCUPDATE frame since the change
in audio source could negatively affect the jitterbuffer.

All of this was made possible by adding a new public API call
to the abstract_jb called ast_jb_empty_and_reset.

(closes issue http://bugs.digium.com/view.php?id=11259)
Reported by: plack
Tested by: putnopvut


------------------------------------------------------------------------

http://svn.digium.com/view/asterisk?view=rev&revision=135841 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2008-08-05 19:16 svnbot         Checkin                                      
2008-08-05 19:16 svnbot         Note Added: 0091121                          
======================================================================




More information about the asterisk-bugs mailing list