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.
This commit is contained in:
Stefano Sabatini 2016-03-26 12:02:49 +01:00
parent 7ecfe4dc36
commit 1ab8e03a45
2 changed files with 11 additions and 0 deletions

View File

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

View File

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