mirror of
https://github.com/taglib/taglib.git
synced 2025-07-27 09:24:25 -04:00
Merge branch 'master' into merge-master-to-taglib2
Conflicts: ConfigureChecks.cmake config.h.cmake taglib/CMakeLists.txt taglib/ape/apeproperties.cpp taglib/fileref.cpp taglib/mp4/mp4atom.cpp taglib/mpc/mpcproperties.cpp taglib/mpeg/id3v2/frames/chapterframe.cpp taglib/mpeg/id3v2/frames/tableofcontentsframe.cpp taglib/mpeg/id3v2/id3v2frame.cpp taglib/mpeg/id3v2/id3v2framefactory.cpp taglib/mpeg/id3v2/id3v2tag.cpp taglib/mpeg/mpegfile.cpp taglib/mpeg/mpegfile.h taglib/riff/aiff/aifffile.cpp taglib/riff/aiff/aiffproperties.cpp taglib/riff/aiff/aiffproperties.h taglib/riff/wav/infotag.cpp taglib/riff/wav/wavfile.cpp taglib/riff/wav/wavproperties.cpp taglib/toolkit/tdebug.cpp taglib/toolkit/tstring.cpp taglib/toolkit/tutils.h tests/test_aiff.cpp tests/test_id3v2.cpp tests/test_wav.cpp
This commit is contained in:
@ -103,7 +103,7 @@ PropertyMap Ogg::FLAC::File::properties() const
|
||||
PropertyMap Ogg::FLAC::File::setProperties(const PropertyMap &properties)
|
||||
{
|
||||
return d->comment->setProperties(properties);
|
||||
}
|
||||
}
|
||||
|
||||
FLAC::AudioProperties *Ogg::FLAC::File::audioProperties() const
|
||||
{
|
||||
@ -211,29 +211,30 @@ void Ogg::FLAC::File::scan()
|
||||
offset_t overhead = 0;
|
||||
|
||||
ByteVector metadataHeader = packet(ipacket);
|
||||
if(metadataHeader.isNull())
|
||||
if(metadataHeader.isEmpty())
|
||||
return;
|
||||
|
||||
ByteVector header;
|
||||
|
||||
if (!metadataHeader.startsWith("fLaC")) {
|
||||
if(!metadataHeader.startsWith("fLaC")) {
|
||||
// FLAC 1.1.2+
|
||||
if (metadataHeader.mid(1,4) != "FLAC") return;
|
||||
if(metadataHeader.mid(1, 4) != "FLAC")
|
||||
return;
|
||||
|
||||
if (metadataHeader[5] != 1) return; // not version 1
|
||||
if(metadataHeader[5] != 1)
|
||||
return; // not version 1
|
||||
|
||||
metadataHeader = metadataHeader.mid(13);
|
||||
}
|
||||
else {
|
||||
// FLAC 1.1.0 & 1.1.1
|
||||
metadataHeader = packet(++ipacket);
|
||||
|
||||
if(metadataHeader.isNull())
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
header = metadataHeader.mid(0,4);
|
||||
ByteVector header = metadataHeader.mid(0, 4);
|
||||
if(header.size() != 4) {
|
||||
debug("Ogg::FLAC::File::scan() -- Invalid Ogg/FLAC metadata header");
|
||||
return;
|
||||
}
|
||||
|
||||
// Header format (from spec):
|
||||
// <1> Last-metadata-block flag
|
||||
// <7> BLOCK_TYPE
|
||||
@ -262,11 +263,12 @@ void Ogg::FLAC::File::scan()
|
||||
|
||||
while(!lastBlock) {
|
||||
metadataHeader = packet(++ipacket);
|
||||
|
||||
if(metadataHeader.isNull())
|
||||
return;
|
||||
|
||||
header = metadataHeader.mid(0, 4);
|
||||
if(header.size() != 4) {
|
||||
debug("Ogg::FLAC::File::scan() -- Invalid Ogg/FLAC metadata header");
|
||||
return;
|
||||
}
|
||||
|
||||
blockType = header[0] & 0x7f;
|
||||
lastBlock = (header[0] & 0x80) != 0;
|
||||
length = header.toUInt24BE(1);
|
||||
|
Reference in New Issue
Block a user