[Asterisk-code-review] codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother (asterisk[master])

Friendly Automation asteriskteam at digium.com
Mon Aug 2 14:16:29 CDT 2021


Friendly Automation has submitted this change. ( https://gerrit.asterisk.org/c/asterisk/+/16181 )

Change subject: codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother
......................................................................

codec_builtin.c: G729 audio gets corrupted by Asterisk due to smoother

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
---
M main/codec_builtin.c
1 file changed, 1 insertion(+), 0 deletions(-)

Approvals:
  Joshua Colp: Looks good to me, but someone else must approve
  George Joseph: Looks good to me, approved
  Friendly Automation: Approved for Submit



diff --git a/main/codec_builtin.c b/main/codec_builtin.c
index c1ae685..bd69d46 100644
--- a/main/codec_builtin.c
+++ b/main/codec_builtin.c
@@ -457,6 +457,7 @@
 	.samples_count = g729_samples,
 	.get_length = g729_length,
 	.smooth = 1,
+	.smoother_flags = AST_SMOOTHER_FLAG_G729,
 };
 
 static unsigned char get_n_bits_at(unsigned char *data, int n, int bit)

-- 
To view, visit https://gerrit.asterisk.org/c/asterisk/+/16181
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Change-Id: I6f51ecb1a3ecd9c6d59ec5a6811a27446e17065d
Gerrit-Change-Number: 16181
Gerrit-PatchSet: 2
Gerrit-Owner: under <pcapdump at gmail.com>
Gerrit-Reviewer: Friendly Automation
Gerrit-Reviewer: George Joseph <gjoseph at digium.com>
Gerrit-Reviewer: Joshua Colp <jcolp at sangoma.com>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20210802/520db341/attachment.html>


More information about the asterisk-code-review mailing list