Speex Decoder doubt

Shushant Arora <[email protected]> Wed, 30 Dec 2020 12:14:41 +0530
Newsgroups gmane.comp.audio.compression.speex.devel
Message-ID <CAFCxkQAbZKENckFXv09YORZ4F82jLeXGgybspioBdQEKyCM90w@mail.gmail.com>
--===============3421070057759220417==
Content-Type: multipart/alternative; boundary="00000000000022b85905b7a8d881"

--00000000000022b85905b7a8d881
Content-Type: text/plain; charset="UTF-8"

Hi

I am using speex decoder(cpp library LibSpeex) to decode multirame speex
packet.I have few queries -

1.When to reset decoder state -
After decoding all frames of one packet and before starting decoding the
next packet does the decoder must be reset?
i.e invoking speex_decoder_destroy(dec_state); before every new packet
decoding begins?


2.Is output of speex decoder deterministic, Same encoded packet when
decoded will always give the same result?
3. When I decode a packet containing 5 frames by invoking speex_decode_int 5
times, and then start decoding same packet again, if I start decoding same
packet with call to  speex_decoder_destroy, decoder output is same for
second packet as it was for first but if I do not call speex_decoder_destroy
before starting decoding packet for second time output differs from first
output. Why is it so?

Thanks

--00000000000022b85905b7a8d881
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi=C2=A0<div><br><div>I am using speex de=
coder(cpp library LibSpeex) to decode multirame speex packet.I have few que=
ries -=C2=A0</div><div><br></div><div>1.When to reset decoder state -=C2=A0=
</div><div>After decoding all frames of one packet and before starting deco=
ding the next packet does the decoder must be reset?</div></div><div>i.e in=
voking=C2=A0<span style=3D"color:rgb(0,0,0)">speex_decoder_destroy(dec_stat=
e); before every new packet decoding begins?</span></div><p style=3D"color:=
rgb(0,0,0)"></p><br style=3D"color:rgb(0,0,0)"><div>2.Is output of speex de=
coder deterministic, Same encoded packet when decoded will always give the =
same=C2=A0result?</div><div>3. When I decode a packet containing 5 frames b=
y invoking=C2=A0<span style=3D"color:rgb(0,0,0);font-size:medium">speex_dec=
ode_int=C2=A0</span><span style=3D"color:rgb(0,0,0);font-family:-webkit-sta=
ndard;font-size:medium">5 times, and then start decoding same packet again,=
 if I start decoding same packet with call to=C2=A0</span><span style=3D"co=
lor:rgb(0,0,0);font-size:medium">=C2=A0</span><span style=3D"color:rgb(0,0,=
0);font-family:-webkit-standard;font-size:medium">speex_decoder_destroy, de=
coder output is same for second packet as it was for first but if I do not =
call=C2=A0</span><span style=3D"color:rgb(0,0,0);font-family:-webkit-standa=
rd;font-size:medium">speex_decoder_destroy before starting decoding packet =
for second time output differs from first output. Why is it so?=C2=A0</span=
></div><div><span style=3D"color:rgb(0,0,0);font-family:-webkit-standard;fo=
nt-size:medium"><br></span></div><div><span style=3D"color:rgb(0,0,0);font-=
family:-webkit-standard;font-size:medium">Thanks</span></div></div></div>

--00000000000022b85905b7a8d881--

--===============3421070057759220417==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU3BlZXgtZGV2
IG1haWxpbmcgbGlzdApTcGVleC1kZXZAeGlwaC5vcmcKaHR0cDovL2xpc3RzLnhpcGgub3JnL21h
aWxtYW4vbGlzdGluZm8vc3BlZXgtZGV2Cg==

--===============3421070057759220417==--