[FFmpeg-devel] [PATCH] mpegtsenc add synchronous metadata

Michael Niedermayer michael at niedermayer.cc
Wed Aug 2 03:25:57 EEST 2017


On Tue, Aug 01, 2017 at 02:25:26PM +0200, Mark Timmerman wrote:
> Add synchronous metadata to mpegtsenc
> * Added AV_CODEC_ID_SYNCHRONOUS_METADATA
> * PMT will have metadata_descriptor and metadata_std_descriptor
>   in accordance with MISB ST 1402.2
> * stream_type will be 0x15 metadata carried in PES packets
> * stream_id will be 0xfc metadata stream
> 
> Users must supply Metadata Access Unit to the packet before writing.
> ---
>  libavcodec/avcodec.h    |  1 +
>  libavformat/mpegtsenc.c | 22 ++++++++++++++++++++++
>  2 files changed, 23 insertions(+)
> 
> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
> index c594993..fe4e538 100644
> --- a/libavcodec/avcodec.h
> +++ b/libavcodec/avcodec.h
> @@ -682,6 +682,7 @@ enum AVCodecID {
>      AV_CODEC_ID_DVD_NAV,
>      AV_CODEC_ID_TIMED_ID3,
>      AV_CODEC_ID_BIN_DATA,
> +    AV_CODEC_ID_SYNCHRONOUS_METADATA,
> 
> 
>      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/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> index fdfa544..35907da 100644
> --- a/libavformat/mpegtsenc.c
> +++ b/libavformat/mpegtsenc.c
> @@ -387,6 +387,7 @@ static int mpegts_write_pmt(AVFormatContext *s,
> MpegTSService *service)
>              stream_type = STREAM_TYPE_PRIVATE_DATA;
>              break;
>          case AV_CODEC_ID_TIMED_ID3:
> +        case AV_CODEC_ID_SYNCHRONOUS_METADATA:
>              stream_type = STREAM_TYPE_METADATA;
>              break;
>          default:
> @@ -641,6 +642,27 @@ static int mpegts_write_pmt(AVFormatContext *s,
> MpegTSService *service)
>                  *q++ = 'L';
>                  *q++ = 'V';
>                  *q++ = 'A';
> +            } else if (st->codecpar->codec_id ==
> AV_CODEC_ID_SYNCHRONOUS_METADATA) {
> +                const char *tag = "KLVA";
> +                *q++ = 0x26;          /* desctiptor_tag =
> metadata_descriptor */

this patch is corrupted by newlines

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

"I am not trying to be anyone's saviour, I'm trying to think about the
 future and not be sad" - Elon Musk

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170802/1aa588d0/attachment.sig>


More information about the ffmpeg-devel mailing list