Chained Vorbis Stream Distorting

Drake Witt <[email protected]> Mon, 3 Apr 2017 13:41:22 -0400
Newsgroups gmane.comp.multimedia.ogg.vorbis.general
Message-ID <CAC1yL+eE-=aFsLDF8y9ihNbDrU0dniRgmeaEPQ7Wp4hpS51bTA@mail.gmail.com>
--===============0271178953382553332==
Content-Type: multipart/alternative; boundary=001a113f8c7cf6ab41054c46aa4a

--001a113f8c7cf6ab41054c46aa4a
Content-Type: text/plain; charset=UTF-8

Hi All,

I'm relatively new to Ogg and Vorbis and I've hit a pretty puzzling issue,
and I'm wondering if a veteran could help me out.

I'm attempting to decode a chained live Ogg Vorbis stream. The primary
issue is that the source does not exactly follow validation (I have no
control of this). The stream switches from a prerecorded segment, to a live
segment, back to a prerecorded segment. I believe the live segment is
missing a B.O.S. packet, which is creating some unintended effects. The
audio ends up playing, but it is very distorted until it switches back to a
prerecorded segment.

I've uploaded a test of the chain here:
https://s3.amazonaws.com/teamalphaservices-test/b1-Live-b2.ogg

It plays perfectly in Google chrome, but when attempting to use my own
decoder, it has strange distortion when playing the live part.

Here's a link to a Github Gist of the decoder I'm using:
https://gist.github.com/DrakeWitt/3634299ce4363d26d16c34be229a350f

What's the best way to modify my logic to compensate for the odd stream?

Thanks!

--001a113f8c7cf6ab41054c46aa4a
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi All,<div><br></div><div>I&#39;m relatively new to Ogg a=
nd Vorbis and I&#39;ve hit a pretty puzzling issue, and I&#39;m wondering i=
f a veteran could help me out.=C2=A0</div><div><br></div><div>I&#39;m attem=
pting to decode a chained live Ogg Vorbis stream. The primary issue is that=
 the source does not exactly follow validation (I have no control of this).=
 The stream switches from a prerecorded segment, to a live segment, back to=
 a prerecorded segment. I believe the live segment is missing a B.O.S. pack=
et, which is creating some unintended effects. The audio ends up playing, b=
ut it is very distorted until it switches back to a prerecorded segment.=C2=
=A0</div><div><br></div><div>I&#39;ve uploaded a test of the chain here: <a=
 href=3D"https://s3.amazonaws.com/teamalphaservices-test/b1-Live-b2.ogg">ht=
tps://s3.amazonaws.com/teamalphaservices-test/b1-Live-b2.ogg</a>=C2=A0</div=
><div><br></div><div>It plays perfectly in Google chrome, but when attempti=
ng to use my own decoder, it has strange distortion when playing the live p=
art.=C2=A0</div><div><br></div><div>Here&#39;s a link to a Github Gist of t=
he decoder I&#39;m using: <a href=3D"https://gist.github.com/DrakeWitt/3634=
299ce4363d26d16c34be229a350f">https://gist.github.com/DrakeWitt/3634299ce43=
63d26d16c34be229a350f</a></div><div><br></div><div>What&#39;s the best way =
to modify my logic to compensate for the odd stream?</div><div><br></div><d=
iv>Thanks!</div></div>

--001a113f8c7cf6ab41054c46aa4a--

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

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVm9yYmlzIG1h
aWxpbmcgbGlzdApWb3JiaXNAeGlwaC5vcmcKaHR0cDovL2xpc3RzLnhpcGgub3JnL21haWxtYW4v
bGlzdGluZm8vdm9yYmlzCg==

--===============0271178953382553332==--