aboutsummaryrefslogtreecommitdiffstats
path: root/taglib/mpeg/id3v2/id3v2framefactory.cpp
diff options
context:
space:
mode:
authorHasso Tepper <hasso.tepper@gmail.com>2012-07-07 01:25:27 +0300
committerUrs Fleisch <ufleisch@users.sourceforge.net>2015-09-07 20:25:34 +0200
commit9ad5bb1d62082396c3cec908508f0df11eb86c8e (patch)
tree3feda918cbd15dc520e2a434ba5f367532c6f4e2 /taglib/mpeg/id3v2/id3v2framefactory.cpp
parent5ca4cd2f520e48d4decc597e572019cadca41d7a (diff)
Support for proprietary frames Apple iTunes uses to tag podcast files.
Diffstat (limited to 'taglib/mpeg/id3v2/id3v2framefactory.cpp')
-rw-r--r--taglib/mpeg/id3v2/id3v2framefactory.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/taglib/mpeg/id3v2/id3v2framefactory.cpp b/taglib/mpeg/id3v2/id3v2framefactory.cpp
index f6a4aac9..3b40ae45 100644
--- a/taglib/mpeg/id3v2/id3v2framefactory.cpp
+++ b/taglib/mpeg/id3v2/id3v2framefactory.cpp
@@ -167,7 +167,8 @@ Frame *FrameFactory::createFrame(const ByteVector &origData, Header *tagHeader)
// Text Identification (frames 4.2)
- if(frameID.startsWith("T")) {
+ // Apple proprietary WFED (Podcast URL) is in fact a text frame.
+ if(frameID.startsWith("T") || frameID == "WFED") {
TextIdentificationFrame *f = frameID != "TXXX"
? new TextIdentificationFrame(data, header)
@@ -423,6 +424,14 @@ bool FrameFactory::updateFrame(Frame::Header *header) const
convertFrame("WPB", "WPUB", header);
convertFrame("WXX", "WXXX", header);
+ // Apple iTunes nonstandard frames
+ convertFrame("PCS", "PCST", header);
+ convertFrame("TCT", "TCAT", header);
+ convertFrame("TDR", "TDRL", header);
+ convertFrame("TDS", "TDES", header);
+ convertFrame("TID", "TGID", header);
+ convertFrame("WFD", "WFED", header);
+
break;
}