opusdec: Does not handle PLC currently for discontinuous transmission (DTX)
See RFC6716 2.1.9
Discontinuous Transmission (DTX) reduces the bitrate during silence or background noise. When DTX is enabled, only one frame is encoded every 400 milliseconds.
and RFC7587 3.1.3, specifically
A receiver can distinguish between DTX and packet loss by looking for gaps in the sequence number
On the receiving side, the non-transmitted parts will be handled by a frame loss concealment unit in the Opus decoder, which generates a comfort noise signal to replace the non-transmitted parts of the speech or audio signal.
We would currently receive the DTX packets and not distinguish them from normal packets, which means that if we have e.g. 20ms packet sizes then we would decode 20ms of samples every 400ms and have a gap for everything else. Instead we should let the decoder go into the PLC code path for this and produce comfort noise.
This probably requires changes in the depayloader to detect this case (continuous seqnums, gap between RTP timestamps and sample count in the packets) and produce a GAP event for this, then the normal PLC code path in the decoder could handle this.