Petteri Hintsanen <[email protected]> writes:

> (apologies it you get this message twice, my mailer is complaining for
> some reason)
>
> Yoni Rabkin <[email protected]> writes:
>
>> Petteri, what do you think of the dynamic-scaling idea?
>
> It could help but I think it’s not the best way to go forward.  I am
> afraid it is the design itself that is failing here.
>
> Namely, the current implementation reads in the whole tag (which can be
> big, as we’ve seen) before parsing, even though we are not interested in
> most of it.  At the end, we need only a few, relatively small textual
> frames (album, artist, etc.) from the complete tag.
>
> I hacked together an "incremental" parser that goes through the tag one
> frame at a time, and skips over those that EMMS does not care about.
> Hopefully it saves memory and, who knows, it may also give some
> performance boost.  (I didn’t have time to do any benchmarking.)  Due to
> id3v2 peculiarities, the code is quite ugly and regressions are likely.
>
> But please test if it gives any better results.  Code is in info-native
> branch.

This gives me no errors on about 1000 classical tracks and runs close to
4 seconds; 250 tracks a second is just fine.

When I try it on a wider selection of tracks I get a framing mismatch
early on. Attached are the first 10k of that file.

Attachment: framing-mismatch.mp3
Description: audio/mpeg


-- 
   "Cut your own wood and it will warm you twice"

Reply via email to