diff --git a/include/opus_defines.h b/include/opus_defines.h index de04ec5c..0b828179 100644 --- a/include/opus_defines.h +++ b/include/opus_defines.h @@ -450,7 +450,8 @@ extern "C" { /** Configures decoder gain adjustment. * Scales the decoded output by a factor specified in Q8 dB units. * This has a maximum range of -32768 to 32767 inclusive, and returns - * OPUS_BAD_ARG otherwise. + * OPUS_BAD_ARG otherwise. The default is zero indicating no adjustment. + * This setting survives decoder reset. * * gain = pow(10, x/(20.0*256)) * diff --git a/src/opus_decoder.c b/src/opus_decoder.c index 2ce4c95a..58f44ac7 100644 --- a/src/opus_decoder.c +++ b/src/opus_decoder.c @@ -53,6 +53,7 @@ struct OpusDecoder { int channels; opus_int32 Fs; /** Sampling rate (at the API level) */ silk_DecControlStruct DecControl; + int decode_gain; /* Everything beyond this point gets cleared on a reset */ #define OPUS_DECODER_RESET_START stream_channels @@ -63,7 +64,6 @@ struct OpusDecoder { int prev_mode; int frame_size; int prev_redundancy; - int decode_gain; opus_uint32 rangeFinal; };