Mar 3, 2021, 16:50 by philip-dylan.gleo...@savoirfairelinux.com: > Le 16/02/2021 à 15:04, Philip-Dylan Gleonec a écrit : > >> An estimation of packet loss is required by libopus to compute its FEC >> data. Currently, this estimation is constant, and can not be changed >> after configuration. This means an application using libopus through >> ffmpeg can not adapt the packet loss estimation when the network >> quality degrades. >> >> This patch makes the encoder reload the packet_loss AVOption before >> encoding samples, if fec is enabled. This way an application can modify >> the packet loss estimation by changing the AVOption. Typical use-case >> is a RTP stream, where packet loss can be estimated from RTCP packets. >> >> Signed-off-by: Philip-Dylan Gleonec >> <philip-dylan.gleo...@savoirfairelinux.com> >> --- >> libavcodec/libopusenc.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/libavcodec/libopusenc.c b/libavcodec/libopusenc.c >> index 70d17f802b..c18e8ae7fa 100644 >> --- a/libavcodec/libopusenc.c >> +++ b/libavcodec/libopusenc.c >> @@ -460,6 +460,15 @@ static int libopus_encode(AVCodecContext *avctx, >> AVPacket *avpkt, >> int ret; >> int discard_padding; >> + if (opus->opts.fec) { >> + ret = opus_multistream_encoder_ctl(opus->enc, >> + >> OPUS_SET_PACKET_LOSS_PERC(opus->opts.packet_loss)); >> + if (ret != OPUS_OK) >> + av_log(avctx, AV_LOG_WARNING, >> + "Unable to set expected packet loss percentage: %s\n", >> + opus_strerror(ret)); >> + } >> + >> if (frame) { >> ret = ff_af_queue_add(&opus->afq, frame); >> if (ret < 0) >> > > Hello, > > Is someone interested in picking this up, or is there some correction I > should make to this patch ? >
Could you check if the option value has changed in between calls to encode and only reset the packet loss value if it has? With that change, patch looks good. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".