Skip to content
Snippets Groups Projects
  • under's avatar
    feb1e06a
    codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother · feb1e06a
    under authored
    If Asterisk gets G.729 6-byte VAD frames inbound, then at outbound Asterisk sends this G.729 stream with non-continuous timestamps.
    This makes the audio stream not-playable at the receiver side.
    Linphone isn't able to play such an audio - lots of disruptions are heard.
    Also I had complains of bad audio from users which use other types of phones.
    
    After debugging, I found this is a regression connected with RTP Smoother (main/smoother.c).
    
    Smoother has a special code to handle G.729 VAD frames (search for AST_SMOOTHER_FLAG_G729 in smoother.c).
    
    However, this flag is never set in Asterisk-12 and newer.
    Previously it has been set (see Asterisk-11).
    
    ASTERISK-29526 #close
    
    Change-Id: I6f51ecb1a3ecd9c6d59ec5a6811a27446e17065d
    feb1e06a
    History
    codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother
    under authored
    If Asterisk gets G.729 6-byte VAD frames inbound, then at outbound Asterisk sends this G.729 stream with non-continuous timestamps.
    This makes the audio stream not-playable at the receiver side.
    Linphone isn't able to play such an audio - lots of disruptions are heard.
    Also I had complains of bad audio from users which use other types of phones.
    
    After debugging, I found this is a regression connected with RTP Smoother (main/smoother.c).
    
    Smoother has a special code to handle G.729 VAD frames (search for AST_SMOOTHER_FLAG_G729 in smoother.c).
    
    However, this flag is never set in Asterisk-12 and newer.
    Previously it has been set (see Asterisk-11).
    
    ASTERISK-29526 #close
    
    Change-Id: I6f51ecb1a3ecd9c6d59ec5a6811a27446e17065d