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@iki.fi>
This commit is contained in:
Anssi Hannula 2013-12-30 09:50:46 +02:00
parent 61d43a2651
commit 4a4437c0fb
3 changed files with 8 additions and 0 deletions

View File

@ -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

View File

@ -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"),
},
};

View File

@ -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 },
};