Re: vorbis decoder stuffs

Ed Sweetman <[email protected]>
Newsgroups gmane.comp.audio.zinf.devel
Message-ID <[email protected]>
Kristian G. Kvilekval wrote:
> Ed, that looks like some mighty scary code.. 

haha.  That's why it's taken so long to write.

> I guess you had to go down a level in the vorbis API
> to get the functionality that you wanted.   Was this related
> to the pullbuffer problem that you alluded to previously or simply
> the fast switching between tracks that has been plaguing vorbis. 

yes, this is the level below libvorbisfile.  I've had experience with 
scanning vorbis files with this method before, but not full on decoding 
so i had to learn a bunch of it and mutate the default decoder they give 
to work with zinf.  It's still rough looking because i haven't changed 
variable names over to some more recognizable ones.  And i use like 4 
buffers because both vorbis and pullbuffer maintains their own buffers, 
meaning I have to copy the data from one to the other, i cant simply 
send vorbis a pointer to the pullbuffer's buffer or vice versa for 
output.  Fun stuff. On the plus side, it's working very sweet as long as 
you dont try to seek :)


> After rereading your posts about pullbuffers, I was wondering if what
> was needed was somesort of "flush" functionality to force the
> pullbuffer to accept less than initialized minimum size.


What i need to do is figure out why seeking doesn't actually seek.  When 
i try to seek, it moves some value less than what i told it to move to 
seemingly on the next cycle (only a little further than current 
position). It's as if i'm telling it to move from one thread and the 
current thread just resets it or something in the actual seek is not 
correct.  Either way i become desynced in my pcm buffer until i restart 
from the beginning.  I have no example to work from, but until the 
actual slider reflects the correct position i told it to goto i have to 
assume it's not actually vorbis api related and more to do with 
something i'm missing in the zinf api.

try out the latest files.  They should be pretty solid.
Not bad seeing as how the only documentation i have to work with is the 
comments in the source file (which is hardly a reference guide to the 
api).




-------------------------------------------------------
This SF.net email is sponsored by:
The Definitive IT and Networking Event. Be There!
NetWorld+Interop Las Vegas 2003 -- Register today!
http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.