mpegts: Enable muxing of SMPTE KLV metadata

Muxer code rebased/split out by: Jeff Blackburne <jblackburne@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Peter Ross 2013-04-11 09:57:15 -07:00 committed by Michael Niedermayer
parent 59d3c24e28
commit d891d354c5

View File

@ -397,6 +397,16 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service)
*q++ = 'c';
}
break;
case AVMEDIA_TYPE_DATA:
if (st->codec->codec_id == AV_CODEC_ID_SMPTE_KLV) {
*q++ = 0x05; /* MPEG-2 registration descriptor */
*q++ = 4;
*q++ = 'K';
*q++ = 'L';
*q++ = 'V';
*q++ = 'A';
}
break;
}
val = 0xf000 | (q - desc_length_ptr - 2);
@ -977,8 +987,8 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st,
*q++ = len >> 8;
*q++ = len;
val = 0x80;
/* data alignment indicator is required for subtitle data */
if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE)
/* data alignment indicator is required for subtitle and data streams */
if (st->codec->codec_type == AVMEDIA_TYPE_SUBTITLE || st->codec->codec_type == AVMEDIA_TYPE_DATA)
val |= 0x04;
*q++ = val;
*q++ = flags;