Re: how must I align buffers passed to mad_stream_buffer?

Joshua Haberman <[email protected]>
Newsgroups gmane.comp.audio.mad.devel
Message-ID <[email protected]>
On Sat, 2003-11-15 at 09:18, Jedediah Smith wrote:
> My decoder uses an arbitrary buffer length and passes data blocks of this 
> size, read from the MP3 file, to mad_stream_buffer. However, MAD throws a 
> "lost synchronization" error immediately after returning from the input 
> callback which feeds the data to mad_stream_buffer. The resulting decoded 
> audio has artifacts at the equivelant locations.
> 
> Clearly mad expects the MP3 data to be aligned, perhaps on frame 
> boundaries, but I can't find any mention of this in the source comments.

I'll save Rob the trouble of repeating himself and quote what he wrote
to me when I asked the same question:

"Each time you refill your buffer, you need to preserve the data in your
existing buffer from stream.next_frame to the end.

"This usually amounts to calling memmove() on this unconsumed portion of
the buffer and appending new data after it, before calling
mad_stream_buffer()"

Josh
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.