covert art data and size issue

Audric Ackermann audric.bilb at gmail.com
Mon Apr 28 12:15:43 UTC 2014


It worked, thank you !


2014-04-28 12:06 GMT+02:00 Lukáš Lalinský <lalinsky at gmail.com>:

> std::string artwork_s(Pic->picture().data());
>
> This code uses the NULL byte to determine the size, which JPEG is very
> likely to have somewhere in the middle. You need to explicitly set it. Use
> this string constructor instead: string (const char* s, size_t n);
>
> Lukas
>
>
> On Mon, Apr 28, 2014 at 10:47 AM, Audric Ackermann <audric.bilb at gmail.com>wrote:
>
>> Hi,
>>
>> I need to get metadata from audio files and found taglib. It works fine
>> with artist, album, title,... but I have some problems with covert art.
>> Here is my code to extract it:
>>
>> Music* gettags(QString mediafile){
>>
>>    Music * music = new Music();
>>
>>     TagLib::FileRef file(mediafile.toUtf8());
>>
>>
>>     //get covert art
>>
>>     TagLib::ID3v2::Tag Tag(file.file(),0);
>>
>>     TagLib::ID3v2::FrameList list = Tag.frameListMap()["APIC"];
>>
>>
>>     if(!list.isEmpty()) {
>>
>>         TagLib::ID3v2::AttachedPictureFrame *Pic = static_cast<TagLib::ID3v2::AttachedPictureFrame *>(list.front());
>>
>>
>>         if(Pic != NULL) {
>>
>>             std::string artwork_s(Pic->picture().data());
>>
>>             qDebug() << "size: " << Pic->picture().size();
>>
>>                         music->musicData.artwork = artwork_s;
>>
>>
>>         }
>>
>>     }
>>
>>     return music;
>>
>> }
>>
>>
>>
>> I have checked with easytag and a front covert art is present in the file.
>>
>>
>>
>> the qDebug() writes: size:  33537
>>
>>
>>
>> but when I try to show it in my qt app, I got an error message
>>
>> Corrupt JPEG data: 1 extraneous bytes before marker 0xd9
>>
>> JPEG datastream contains no image
>>
>>
>> I don't know in which part of my code I've made a mystake.
>>
>>
>>
>>
>>
>>
>> Thanks for your help,
>>
>> Audric
>>
>>
>>
>>
>>
>> _______________________________________________
>> taglib-devel mailing list
>> taglib-devel at kde.org
>> https://mail.kde.org/mailman/listinfo/taglib-devel
>>
>>
>
> _______________________________________________
> taglib-devel mailing list
> taglib-devel at kde.org
> https://mail.kde.org/mailman/listinfo/taglib-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/taglib-devel/attachments/20140428/7f69580f/attachment.html>


More information about the taglib-devel mailing list