OPUS_SET_DRED_DURATION was hardcoded to 2 (20 ms), meaning DRED only covered 1/3 of a lost 60 ms frame and was useless above 20 ms channels. Now computed as max(2, ceil(frame_ms/10)) so DRED always embeds enough redundancy to reconstruct one full previous frame regardless of frame size. The floor of 2 preserves two-frame burst-loss coverage at 10 ms channels. Decoder side and server are unaffected (server relays payloads verbatim). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>