ref: 03105f5b70f7597f36f4644f36a921317b859082
parent: 9881484dbde25707b93d988cff6316d2f375727a
author: Gregory Maxwell <[email protected]>
date: Tue Jul 10 22:33:55 EDT 2012
Make OPUS_SET_GAIN survive decode reset. This is the less-surprising behavior and will hopefully result in fewer corner case bugs (e.g. losing gain after seeking). This commit also updates the documentation.
--- a/include/opus_defines.h
+++ b/include/opus_defines.h
@@ -450,7 +450,8 @@
/** 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))
*
--- a/src/opus_decoder.c
+++ b/src/opus_decoder.c
@@ -53,6 +53,7 @@
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 @@
int prev_mode;
int frame_size;
int prev_redundancy;
- int decode_gain;
opus_uint32 rangeFinal;
};