[FFmpeg-cvslog] avformat/mpegts: demux timed ID3 metadata

Anssi Hannula git at videolan.org
Tue Dec 31 02:30:04 CET 2013


ffmpeg | branch: master | Anssi Hannula <anssi.hannula at iki.fi> | Mon Dec 30 09:50:46 2013 +0200| [4a4437c0fbc8f7afe0c533070395a42e56b4ee75] | committer: Anssi Hannula

avformat/mpegts: demux timed ID3 metadata

Used in some HLS streams ("Timed Metadata for HTTP Live Streaming").

This is just ID3 tags at arbitrary stream positions, but I still added
"timed" to the codec name to avoid confusion with regular non-stream ID3
tags.

Signed-off-by: Anssi Hannula <anssi.hannula at iki.fi>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=4a4437c0fbc8f7afe0c533070395a42e56b4ee75
---

 libavcodec/avcodec.h    |    1 +
 libavcodec/codec_desc.c |    6 ++++++
 libavformat/mpegts.c    |    1 +
 3 files changed, 8 insertions(+)

diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index c614829..37f6807 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -513,6 +513,7 @@ enum AVCodecID {
     AV_CODEC_ID_OTF        = MKBETAG( 0 ,'O','T','F'),
     AV_CODEC_ID_SMPTE_KLV  = MKBETAG('K','L','V','A'),
     AV_CODEC_ID_DVD_NAV    = MKBETAG('D','N','A','V'),
+    AV_CODEC_ID_TIMED_ID3  = MKBETAG('T','I','D','3'),
 
 
     AV_CODEC_ID_PROBE = 0x19000, ///< codec_id is not known (like AV_CODEC_ID_NONE) but lavf should attempt to identify it
diff --git a/libavcodec/codec_desc.c b/libavcodec/codec_desc.c
index c62734f..1639046 100644
--- a/libavcodec/codec_desc.c
+++ b/libavcodec/codec_desc.c
@@ -2622,6 +2622,12 @@ static const AVCodecDescriptor codec_descriptors[] = {
         .name      = "dvd_nav_packet",
         .long_name = NULL_IF_CONFIG_SMALL("DVD Nav packet"),
     },
+    {
+        .id        = AV_CODEC_ID_TIMED_ID3,
+        .type      = AVMEDIA_TYPE_DATA,
+        .name      = "timed_id3",
+        .long_name = NULL_IF_CONFIG_SMALL("timed ID3 metadata"),
+    },
 
 };
 
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 39b1b5d..db380ca 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -662,6 +662,7 @@ static const StreamType REGD_types[] = {
 
 static const StreamType METADATA_types[] = {
     { MKTAG('K','L','V','A'), AVMEDIA_TYPE_DATA, AV_CODEC_ID_SMPTE_KLV },
+    { MKTAG('I','D','3',' '), AVMEDIA_TYPE_DATA, AV_CODEC_ID_TIMED_ID3 },
     { 0 },
 };
 



More information about the ffmpeg-cvslog mailing list