Reading ID3v2 tag from byte array

Jack Oclee-Brown jack.ocleebrown at
Thu Mar 7 20:40:32 UTC 2013


I was wondering if it was possible to read an ID3v2 tag directly from a
byte array and use TabLib to extract the artist, title etc.

I've had a first attempt but after initially looking promising I keep
getting segmentation faults when I try and extract "artist" to a variable.

I have written a small CPP class extending TagLib::ID3v2::Tag

#ifndef DSFTAG_H
#define DSFTAG_H

#include <taglib/id3v2tag.h>

class dsfTag : public TagLib::ID3v2::Tag
    dsfTag(char* data,long unsigned int dataLen) : TagLib::ID3v2::Tag() {
        TagLib::ByteVector b =

#endif // DSFTAG_H

when I try to use the class I can successfully create the object and output
tags to cout, for example with:

dsfTag t(tag,tagLen);
cout << t.album();

but I get segfaults when I try and put album() into a char* or string. And
I also see segfaults or core dumps if I free the original byte array.

I'd be very grateful if anyone can point me in the right direction.

Thanks! Jack.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the taglib-devel mailing list