Open padenot opened 2 months ago
One item for DRED may be enabling configuration of the parameters defined here:
sprop-ext32-dred-duration: Maximum amount of DRED information (in milliseconds) the encoder will provide.
ext32-dred-duration: Specifies the maximum amount of DRED information (in milliseconds) that the receiver can use.
While an Opus implementation might have a maximum amount of DRED that it can support (e.g. dred-max), the maximum amount of DRED that a receiver can use depends on the application (e.g. more for streaming, less for RTC).
If the WebCodecs supported concealment (e.g. by allowing the decoder to process VideoFrames with null/empty data as per #558), then configuring the maximum amount of DRED a receiver can use could determine the maximum number of consecutive frames with null data that could be recovered via DRED. If there were additional loss, concealment (e.g. DeepPLC) could be applied in addition.
However, without a solution to #558, I don't understand how to support conventional Opus FEC, DRED or DeepPLC (which is integrated with DRED in Opus 1.5+).
See https://opus-codec.org/demo/opus-1.5/.