Sanitize MBID usage: do not trust MBID coming from files' metadata

This commit is contained in:
emeric
2020-02-08 12:38:28 +01:00
parent a4bcd3bbaa
commit 52a0f62491
25 changed files with 298 additions and 132 deletions
+10 -10
View File
@@ -34,8 +34,8 @@ std::ostream& operator<<(std::ostream& os, const MetaData::Artist& artist)
{
os << artist.name;
if (!artist.musicBrainzArtistID.empty())
os << " (" << artist.musicBrainzArtistID << ")";
if (artist.musicBrainzArtistID)
os << " (" << artist.musicBrainzArtistID->getAsString() << ")";
return os;
}
@@ -44,8 +44,8 @@ std::ostream& operator<<(std::ostream& os, const MetaData::Album& album)
{
os << album.name;
if (!album.musicBrainzAlbumID.empty())
os << " (" << album.musicBrainzAlbumID << ")";
if (album.musicBrainzAlbumID)
os << " (" << album.musicBrainzAlbumID->getAsString() << ")";
return os;
}
@@ -82,11 +82,11 @@ void parse(MetaData::Parser& parser, const std::filesystem::path& file)
std::cout << "Title: " << track->title << std::endl;
if (!track->musicBrainzTrackID.empty())
std::cout << "MB TrackID = " << track->musicBrainzTrackID << std::endl;
if (track->musicBrainzTrackID)
std::cout << "MB TrackID = " << track->musicBrainzTrackID->getAsString() << std::endl;
if (!track->musicBrainzRecordID.empty())
std::cout << "MB RecordID = " << track->musicBrainzRecordID << std::endl;
if (track->musicBrainzRecordID)
std::cout << "MB RecordID = " << track->musicBrainzRecordID->getAsString() << std::endl;
for (const auto& cluster : track->clusters)
{
@@ -122,8 +122,8 @@ void parse(MetaData::Parser& parser, const std::filesystem::path& file)
for (const auto& audioStream : track->audioStreams)
std::cout << "Audio stream: " << audioStream.bitRate << " bps" << std::endl;
if (!track->acoustID.empty())
std::cout << "AcoustID: " << track->acoustID << std::endl;
if (track->acoustID)
std::cout << "AcoustID: " << track->acoustID->getAsString() << std::endl;
if (!track->copyright.empty())
std::cout << "Copyright: " << track->copyright << std::endl;
+3 -1
View File
@@ -3,11 +3,13 @@ bin_PROGRAMS = lms-metadata
lms_metadata_SOURCES = \
$(srcdir)/LmsMetadata.cpp \
$(top_srcdir)/src/av/AvInfo.cpp \
$(top_srcdir)/src/metadata/MetaData.cpp \
$(top_srcdir)/src/metadata/AvFormat.cpp \
$(top_srcdir)/src/metadata/TagLibParser.cpp \
$(top_srcdir)/src/utils/Logger.cpp \
$(top_srcdir)/src/utils/StreamLogger.cpp \
$(top_srcdir)/src/utils/Utils.cpp
$(top_srcdir)/src/utils/Utils.cpp \
$(top_srcdir)/src/utils/UUID.cpp
lms_metadata_CXXFLAGS=-std=c++17 -I$(top_srcdir)/src -D_REENTRANT