@@ -7,16 +7,6 @@ actual class SpeexCodec actual constructor(
77 private val bitRate : Int ,
88 private val frameSize : Int
99): AutoCloseable {
10- private val gain = 1.0f
11- enum class Preprocessor (val flagValue : Int ) {
12- DENOISE (1 ),
13- AGC (2 ),
14- VAD (4 )
15- }
16-
17- init {
18- initNative()
19- }
2010 private val speexDecBits: Long = initSpeexBits()
2111 private val speexDecState: Long = initDecState(sampleRate, bitRate)
2212
@@ -28,7 +18,7 @@ actual class SpeexCodec actual constructor(
2818 */
2919 actual fun decodeFrame (encodedFrame : ByteArray , decodedFrame : ByteArray , hasHeaderByte : Boolean ): SpeexDecodeResult {
3020 val decodedFrameBuf = ByteBuffer .allocateDirect(decodedFrame.size)
31- val result = SpeexDecodeResult .fromInt(decode(encodedFrame, decodedFrameBuf, hasHeaderByte))
21+ val result = SpeexDecodeResult .fromInt(decode(encodedFrame, decodedFrameBuf, this .speexDecBits, this .speexDecState, hasHeaderByte))
3222 if (result == SpeexDecodeResult .Success ) {
3323 decodedFrameBuf.get(decodedFrame, 0 , decodedFrame.size)
3424 }
@@ -39,9 +29,7 @@ actual class SpeexCodec actual constructor(
3929 destroySpeexBits(speexDecBits)
4030 destroyDecState(speexDecState)
4131 }
42-
43- private external fun initNative ()
44- private external fun decode (encodedFrame : ByteArray , decodedFrame : ByteBuffer , hasHeaderByte : Boolean ): Int
32+ private external fun decode (encodedFrame : ByteArray , decodedFrame : ByteBuffer , speexDecBits : Long , speexDecState : Long , hasHeaderByte : Boolean ): Int
4533 private external fun initSpeexBits (): Long
4634 private external fun initDecState (sampleRate : Long , bitRate : Int ): Long
4735 private external fun destroySpeexBits (speexBits : Long )
0 commit comments