Bug 159821 - Optimization of ByteVector to speed up unsyncronized tags.
Summary: Optimization of ByteVector to speed up unsyncronized tags.
Status: REPORTED
Alias: None
Product: taglib
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Compiled Sources Microsoft Windows
: NOR wishlist
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
: 207664 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-03-25 12:05 UTC by Daniel Önnerby
Modified: 2010-07-11 11:45 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Önnerby 2008-03-25 12:05:26 UTC
Version:           1.5 (using Devel)
Installed from:    Compiled sources
Compiler:          Visual Studio 2005 
OS:                MS Windows

I have some rare mp3 that are have unsynchronized tags. When the APIC frame is decoded it will take a very long time (15-45 seconds depending on build type and computer) to decode the frame since it's about 350kb big. 
I made a patch for this that modifies the ByteVector::replace method when the pattern is larger or equal to the replacement.
http://onnerby.se/~daniel/tbytevector_cpp.patch
Comment 1 Scott Wheeler 2008-03-28 12:58:52 UTC
Hi Daniel - could you send a test file to wheeler@kde.org with the name 159821.mp3?  I just glanced at the patch, and there are a couple of things that I'd want to roll together to make the function as a whole cleaner, but it'd be nice to have a file that I can check with to make sure that I don't break the improvements on the way.  :-)

(Plus it'd go into my collection of files that TagLib must survive parsing before a release...)
Comment 2 Lukáš Lalinský 2010-07-11 11:45:22 UTC
*** Bug 207664 has been marked as a duplicate of this bug. ***