Is ID3v2::FrameFactory really utilized?

Scott Wheeler wheeler at
Thu Sep 12 00:51:52 UTC 2013

On Sep 11, 2013, at 4:17 PM, Tsuda Kageyu <tsuda.kageyu at> wrote:

> Hi, I have a question for the TagLib users. I want to know is there 
> someone who creates your own version of ID3v2::FrameFactory.
> Currently, TagLib allows you to interpret the frames in a ID3v2 tag in 
> your preferred way by subclassing ID3v2::FrameFactory class (but it only 
> affects MPEG files). However, I found that it's difficult to implement 
> my own FrameFactory because user defined classes can't access the nested 
> class ID3v2::Frame::Header. So I have a doubt that it is really utilized.
> If there is someone using it, we'd better make changes so that it can 
> affect all the file formats which support ID3v2 tag. Otherwise, we can 
> remove it.

It's never actually been possible to use it properly because of a bug in the initial version:  ID3v2FrameFactory::createFrame() wasn't made virtual.  We've been stuck with that bug for binary compatibility reasons for the last 10 years.

In theory I still like the idea -- TagLib doesn't implement the full ID3v2 standard and subclassing ID3v2FrameFactory would in theory make it possible for users of the library to implement frame types not supported by TagLib itself without forking TagLib.


More information about the taglib-devel mailing list