ffmpeg | branch: master | Stefano Sabatini <[email protected]> | Sat Mar 26 12:02:49 2016 +0100| [1ab8e03a457a01df11eeb6ee13a0ca66f07ff863] | committer: Stefano Sabatini
lavf/mpegtsenc: set metadata stream type and write descriptor for ID3 packets This allow to remux data packets which are then recognized as ID3 packets. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1ab8e03a457a01df11eeb6ee13a0ca66f07ff863 --- libavformat/mpegts.h | 1 + libavformat/mpegtsenc.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/libavformat/mpegts.h b/libavformat/mpegts.h index 0cdbc76..88b504d 100644 --- a/libavformat/mpegts.h +++ b/libavformat/mpegts.h @@ -51,6 +51,7 @@ #define STREAM_TYPE_AUDIO_AAC 0x0f #define STREAM_TYPE_AUDIO_AAC_LATM 0x11 #define STREAM_TYPE_VIDEO_MPEG4 0x10 +#define STREAM_TYPE_METADATA 0x15 #define STREAM_TYPE_VIDEO_H264 0x1b #define STREAM_TYPE_VIDEO_HEVC 0x24 #define STREAM_TYPE_VIDEO_CAVS 0x42 diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 8be24fa..93cbac1 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -353,6 +353,9 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) case AV_CODEC_ID_OPUS: stream_type = STREAM_TYPE_PRIVATE_DATA; break; + case AV_CODEC_ID_TIMED_ID3: + stream_type = STREAM_TYPE_METADATA; + break; default: stream_type = STREAM_TYPE_PRIVATE_DATA; break; @@ -605,6 +608,13 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) *q++ = 'L'; *q++ = 'V'; *q++ = 'A'; + } else if (st->codecpar->codec_id == AV_CODEC_ID_TIMED_ID3) { + *q++ = 0x5; /* MPEG-2 registration descriptor */ + *q++ = 4; + *q++ = 'I'; + *q++ = 'D'; + *q++ = '3'; + *q++ = ' '; } break; } _______________________________________________ ffmpeg-cvslog mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog
