MT#55283 discard packets if no DTX buffer exists

If a packet is received for a codec that should have an active DTX but
doesn't, drop the packet instead of forwarding it without being
processed. In this case we expect that some other codec has an active
DTX buffer, and forwarding the packet would interfere with a clean
output stream.

Change-Id: I162ba6f314b804123a6a3957feb7435a319ad2b9
mr13.3
Richard Fuchs 8 months ago
parent 0d06b788b2
commit 2fcb876ace

@ -3287,8 +3287,13 @@ static bool __buffer_dtx(struct dtx_buffer *dtxb, struct codec_ssrc_handler *dec
struct transcode_packet *packet,
struct media_packet *mp))
{
if (!dtxb || !mp->sfd || !mp->ssrc_in || !mp->ssrc_out)
return false;
if (!dtxb || !mp->sfd || !mp->ssrc_in || !mp->ssrc_out) {
if (!__dtx_should_do(decoder_handler))
return false;
ilogs(dtx, LOG_INFO | LOG_FLAG_LIMIT, "No DTX buffer, discarding packet");
__transcode_packet_free(packet);
return true;
}
unsigned long ts = packet ? packet->ts : 0;

Loading…
Cancel
Save