diff --git a/taglib/mpeg/id3v2/frames/podcastframe.cpp b/taglib/mpeg/id3v2/frames/podcastframe.cpp index 7285b968..7dfe471d 100644 --- a/taglib/mpeg/id3v2/frames/podcastframe.cpp +++ b/taglib/mpeg/id3v2/frames/podcastframe.cpp @@ -24,6 +24,7 @@ ***************************************************************************/ #include "podcastframe.h" +#include using namespace TagLib; using namespace ID3v2; @@ -55,6 +56,13 @@ String PodcastFrame::toString() const return String(); } +PropertyMap PodcastFrame::asProperties() const +{ + PropertyMap map; + map.insert("PODCAST", StringList()); + return map; +} + //////////////////////////////////////////////////////////////////////////////// // protected members //////////////////////////////////////////////////////////////////////////////// diff --git a/taglib/mpeg/id3v2/frames/podcastframe.h b/taglib/mpeg/id3v2/frames/podcastframe.h index 7bbc2138..a71278c3 100644 --- a/taglib/mpeg/id3v2/frames/podcastframe.h +++ b/taglib/mpeg/id3v2/frames/podcastframe.h @@ -57,6 +57,8 @@ namespace TagLib { */ virtual String toString() const; + PropertyMap asProperties() const; + protected: // Reimplementations. diff --git a/taglib/mpeg/id3v2/id3v2frame.cpp b/taglib/mpeg/id3v2/id3v2frame.cpp index f2414b16..4799c88c 100644 --- a/taglib/mpeg/id3v2/id3v2frame.cpp +++ b/taglib/mpeg/id3v2/id3v2frame.cpp @@ -40,6 +40,7 @@ #include "frames/commentsframe.h" #include "frames/uniquefileidentifierframe.h" #include "frames/unknownframe.h" +#include "frames/podcastframe.h" using namespace TagLib; using namespace ID3v2; @@ -120,6 +121,8 @@ Frame *Frame::createTextualFrame(const String &key, const StringList &values) // UrlLinkFrame* frame = new UrlLinkFrame(frameID); frame->setUrl(values.front()); return frame; + } else if(frameID == "PCST") { + return new PodcastFrame(); } } if(key == "MUSICBRAINZ_TRACKID" && values.size() == 1) { @@ -490,6 +493,8 @@ PropertyMap Frame::asProperties() const return dynamic_cast< const UnsynchronizedLyricsFrame* >(this)->asProperties(); else if(id == "UFID") return dynamic_cast< const UniqueFileIdentifierFrame* >(this)->asProperties(); + else if(id == "PCST") + return dynamic_cast< const PodcastFrame* >(this)->asProperties(); PropertyMap m; m.unsupportedData().append(id); return m;