From: Tsuda Kageyu Date: Fri, 12 Jun 2015 09:21:32 +0000 (+0900) Subject: MusePak: Avoid seeking a file when not needed. X-Git-Tag: v1.10beta~44^2~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e605e96835487e9128eff51757a8d3a1e24116bf;p=taglib MusePak: Avoid seeking a file when not needed. --- diff --git a/taglib/mpc/mpcfile.cpp b/taglib/mpc/mpcfile.cpp index fcf8d1b8..7b4df161 100644 --- a/taglib/mpc/mpcfile.cpp +++ b/taglib/mpc/mpcfile.cpp @@ -296,7 +296,7 @@ void MPC::File::read(bool readProperties, Properties::ReadStyle /* propertiesSty if(!d->hasID3v1) APETag(true); - // Look for and skip an ID3v2 tag + // Look for an ID3v2 tag d->ID3v2Location = findID3v2(); @@ -307,14 +307,10 @@ void MPC::File::read(bool readProperties, Properties::ReadStyle /* propertiesSty d->hasID3v2 = true; } - if(d->hasID3v2) - seek(d->ID3v2Location + d->ID3v2Size); - else - seek(0); - // Look for MPC metadata if(readProperties) { + long streamLength; if(d->hasAPE) @@ -324,8 +320,13 @@ void MPC::File::read(bool readProperties, Properties::ReadStyle /* propertiesSty else streamLength = length(); - if(d->hasID3v2) + if(d->hasID3v2) { + seek(d->ID3v2Location + d->ID3v2Size); streamLength -= (d->ID3v2Location + d->ID3v2Size); + } + else { + seek(0); + } d->properties = new Properties(this, streamLength); }