View Single Post
Old 26 August 2009, 09:14 pm   #2
r2d
Musepack developer
 
Join Date: Sep 2006
Location: Villeurbanne - France
Posts: 36
Default

The default packet size for sv8 is 64 frames (so 1 key frame and 63 'non-key' frames). Seeking jumps to the first key frame of a packet and mark the number of samples that must be skipped. So until all the to-be-skipped samples are not decoded, mpc_demux_decode() returns no sample.

The old behavior (sv7) was to start decoding from the *beginning* of the stream, without skipping any sample. It was just that the function did not returned after every frame, but when seeking was finished.

The current behavior may be improved by adding the mpc_demux_decode() calls returning 0 samples in mpc_demux_seek_sample().

Anyway, sv8 seeking is clearly faster than the old sv7 seeking.
r2d is offline   Reply With Quote