Re: Decode ogg file while downloading: what are the good practices?
Gunter Königsmann <[email protected]> Mon, 05 Nov 2018 20:51:43 +0100
| Newsgroups | gmane.comp.multimedia.ogg.vorbis.devel |
|---|---|
| Message-ID | <[email protected]> |
--===============5280478760654461610== Content-Type: multipart/alternative; boundary="----73C3U3FQHU6VVFUOSDY4Z44KYUUSBY" Content-Transfer-Encoding: 7bit ------73C3U3FQHU6VVFUOSDY4Z44KYUUSBY Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Can you get a backtrace that tells in which line of the code of the library= it crashes?=20 Not that you did Fuzzing using incomplete files and found a bug=2E Am 5=2E November 2018 20:46:21 MEZ schrieb Matthieu Regnauld <mregnauld@gm= ail=2Ecom>: >Hello, > >After more tests, I discovered a new problem in my code ( >https://gist=2Egithub=2Ecom/mregnauld/3f7cdc43b02ec3bbd91641b9333ba072) >while >seeking in an audio file that is being downloaded=2E > >When I seek in random positions (when I call OggPlayer::seek()), while >I >extract audio samples (when I call OggPlayer::extract() every 5ms, in >my >test - basically, I just play the audio file), sometimes, I get random >errors with ov_read(): >- sometimes it returns 0 (end of file) >- sometimes it returns an error (like an OV_HOLE error) >- sometimes it just crashes > >And that, even if I seek to a position which is at least 44100 frames >(1 >second) before the end of the file=2E=2E=2E > >Has anyone had this problem? Is there maybe any buffer somewhere that I >forget to flush, or something? > >Thanks for your help=2E --=20 Diese Nachricht wurde von meinem Android-Ger=C3=A4t mit K-9 Mail gesendet= =2E ------73C3U3FQHU6VVFUOSDY4Z44KYUUSBY Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head></head><body>Can you get a backtrace that tells in which line o= f the code of the library it crashes? <br><br>Not that you did Fuzzing usin= g incomplete files and found a bug=2E<br><br><div class=3D"gmail_quote">Am = 5=2E November 2018 20:46:21 MEZ schrieb Matthieu Regnauld <mregnauld@gma= il=2Ecom>:<blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt= 0=2E8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"> <div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div dir=3D"ltr"><div d= ir=3D"ltr">Hello,<div><br></div><div>After more tests, I discovered a new p= roblem in my code (<a href=3D"https://gist=2Egithub=2Ecom/mregnauld/3f7cdc4= 3b02ec3bbd91641b9333ba072">https://gist=2Egithub=2Ecom/mregnauld/3f7cdc43b0= 2ec3bbd91641b9333ba072</a>) while seeking in an audio file that is being do= wnloaded=2E</div><div><br></div><div>When I seek in random positions (when = I call <font face=3D"monospace, monospace">OggPlayer::seek()</font>), while= I extract audio samples (when I call <font face=3D"monospace, monospa= ce">OggPlayer::extract()</font> every 5ms, in my test - basically, I just p= lay the audio file), sometimes, I get random errors with <font face=3D"mono= space, monospace">ov_read()</font>:</div><div>- sometimes it returns 0 (end= of file)</div><div>- sometimes it returns an error (like an OV_HOLE e= rror)</div><div>- sometimes it just crashes</div><div><br></div><div>And th= at, even if I seek to a position which is at least 44100 frames (1 second) = before the end of the file=2E=2E=2E</div><div><br></div><div>Has anyone had= this problem? Is there maybe any buffer somewhere that I forget to flush, = or something?</div><div><br></div><div>Thanks for your help=2E</div><div><b= r></div></div></div></div></div></div> </blockquote></div><br>-- <br>Diese Nachricht wurde von meinem Android-Ger= =C3=A4t mit K-9 Mail gesendet=2E</body></html> ------73C3U3FQHU6VVFUOSDY4Z44KYUUSBY-- --===============5280478760654461610== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVm9yYmlzLWRl diBtYWlsaW5nIGxpc3QKVm9yYmlzLWRldkB4aXBoLm9yZwpodHRwOi8vbGlzdHMueGlwaC5vcmcv bWFpbG1hbi9saXN0aW5mby92b3JiaXMtZGV2Cg== --===============5280478760654461610==--