diff --git a/libavcodec/libopusencc.c b/libavcodec/libopusencc.c index 2a97811d18..40ee7b8fec 100644 --- a/libavcodec/libopusenc.c +++ b/libavcodec/libopusenc.c @@ -33,6 +33,7 @@ typedef struct LibopusEncOpts { int vbr; int application; + int enable_fec; int packet_loss; int complexity; float frame_duration; @@ -143,6 +144,13 @@ "Unable to set constrained VBR: %s\n", opus_strerror(ret)); ret = opus_multistream_encoder_ctl(enc, + OPUS_SET_INBAND_FEC(opts->enable_fec)); + if (ret != OPUS_OK) + av_log(avctx, AV_LOG_WARNING, + "Unable to set enable FEC flag percentage: %s\n", + opus_strerror(ret)); + + ret = opus_multistream_encoder_ctl(enc, OPUS_SET_PACKET_LOSS_PERC(opts->packet_loss)); if (ret != OPUS_OK) av_log(avctx, AV_LOG_WARNING, @@ -452,6 +460,15 @@ int ret; int discard_padding; + // Reload packet loss setting + 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) @@ -543,6 +560,7 @@ { "audio", "Favor faithfulness to the input", 0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_AUDIO }, 0, 0, FLAGS, "application" }, { "lowdelay", "Restrict to only the lowest delay modes", 0, AV_OPT_TYPE_CONST, { .i64 = OPUS_APPLICATION_RESTRICTED_LOWDELAY }, 0, 0, FLAGS, "application" }, { "frame_duration", "Duration of a frame in milliseconds", OFFSET(frame_duration), AV_OPT_TYPE_FLOAT, { .dbl = 20.0 }, 2.5, 120.0, FLAGS }, + { "enable_fec", "Enable forward error correction", OFFSET(enable_fec), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, FLAGS }, { "packet_loss", "Expected packet loss percentage", OFFSET(packet_loss), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 100, FLAGS }, { "vbr", "Variable bit rate mode", OFFSET(vbr), AV_OPT_TYPE_INT, { .i64 = 1 }, 0, 2, FLAGS, "vbr" }, { "off", "Use constant bit rate", 0, AV_OPT_TYPE_CONST, { .i64 = 0 }, 0, 0, FLAGS, "vbr" }, 096b12a444b81718c3873281484bf61&showmsg=1'>Expand)Author 2024-03-11etc: systemd services: switch to "journal" for output and error logging....The "syslog" method has been deprecated for years, and issues a warning: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether. Fixes: #48323 * etc/guix-daemon.service.in (StandardOutput): Use "journal" (StandardError): Likewise. * etc/guix-publish.service.in (StandardOutput): Likewise. (StandardError): Likewise. Vagrant Cascadian 2022-10-23etc: systemd services shouldn't ‘RemainAfterExit’....* etc/guix-daemon.service.in (RemainAfterExit): Don't. * etc/guix-publish.service.in (RemainAfterExit): Likewise don't. Tobias Geerinckx-Rice 2022-10-23etc: Add ‘Restart=always’ to both systemd services....* etc/guix-daemon.service.in (Restart): ‘Always’ do. * etc/guix-publish.service.in (Restart): Likewise. Tobias Geerinckx-Rice 2022-10-23etc: Add ‘OOMPolicy=continue’ to guix-daemon.service....* etc/guix-daemon.service.in (OOMPolicy): Continue. Tobias Geerinckx-Rice 2021-07-07guix-install.sh: Prompt for configuring substitutes discovery....Also ensure prompt_yes_no always print the message with a trailing space, which is more pleasing to the eye. * etc/guix-daemon.conf.in <--discover=no>: New guix-daemon option. * etc/guix-daemon.service.in: Likewise. * etc/init.d/guix-daemon.in: Likewise. * etc/openrc/guix-daemon.in: Likewise. * etc/guix-install.sh (configure_substitute_discovery): New procedure. (sys_enable_guix_daemon): Ask the user whether automatic substitute discovery should be enabled. Set the '--discover' argument accordingly. (prompt_yes_no): Add a trailing space to the message. (sys_authorize_build_farms): Remove trailing space from the message argument. * NEWS (Distribution): Add news. Maxim Cournoyer 2019-06-05etc: guix-daemon.service.in: Fix GUIX_LOCPATH quoting....Fixes <https://bugs.gnu.org/36074>. * etc/guix-daemon.service.in: Move the GUIX_LOCPATH environment variable name inside the quotes. Signed-off-by: Ricardo Wurmus <rekado@elephly.net> Jack Hill 2019-05-13Set 'LC_ALL=en_US.utf8' in systemd '.service' files....Fixes <https://bugs.gnu.org/35671>. * etc/guix-daemon.service.in (Environment): Quote the 'GUIX_LOCPATH' value; add 'LC_ALL'. * etc/guix-publish.service.in (Environment): Likewise. Ludovic Courtès