From ef1af103ab5ec6c647b3339b97c1dd2d73d69d6a Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Duraffort?= Date: Sat, 10 Jan 2009 19:11:58 +0100 Subject: [PATCH] taglib: accept the Xiph comments with more than one embedded art, but take only the first one. --- modules/meta_engine/taglib.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp index df2a7bb1c6..2aa740b18c 100644 --- a/modules/meta_engine/taglib.cpp +++ b/modules/meta_engine/taglib.cpp @@ -270,21 +270,21 @@ static void ReadMetaFromXiph( Ogg::XiphComment* tag, demux_t* p_demux, demux_met StringList mime_list = tag->fieldListMap()[ "COVERARTMIME" ]; StringList art_list = tag->fieldListMap()[ "COVERART" ]; - /* we support only one cover in ogg/vorbis */ - if( mime_list.size() != 1 || art_list.size() != 1 ) + // We get only the first covert art + if( mime_list.size() > 1 || art_list.size() > 1 ) + msg_Warn( p_demux, "Found %i embedded arts, so using only the first one", + art_list.size() ); + else if( mime_list.size() == 0 || art_list.size() == 0 ) return; input_attachment_t *p_attachment; - const char *psz_name, *psz_mime, *psz_description; - uint8_t *p_data; - int i_data; - - psz_name = "cover"; - psz_mime = mime_list[0].toCString(true); - psz_description = "cover"; + const char* psz_name = "cover"; + const char* psz_mime = mime_list[0].toCString(true); + const char* psz_description = "cover"; - i_data = vlc_b64_decode_binary( &p_data, art_list[0].toCString(true) ); + uint8_t *p_data; + int i_data = vlc_b64_decode_binary( &p_data, art_list[0].toCString(true) ); msg_Dbg( p_demux, "Found embedded art: %s (%s) is %i bytes", psz_name, psz_mime, i_data ); -- 2.39.2