[FFmpeg-devel] [PATCH] Add constants for MPEG-TS transport stream identifiers
Marton Balint
cus at passwd.hu
Tue Jun 9 02:10:51 EEST 2020
On Wed, 3 Jun 2020, Brad Hards wrote:
> Signed-off-by: Brad Hards <bradh at frogmouth.net>
> ---
> libavformat/mpegts.h | 7 +++++++
> libavformat/mpegtsenc.c | 16 ++++++++--------
> 2 files changed, 15 insertions(+), 8 deletions(-)
Will apply, thanks.
Regards,
Marton
>
> diff --git a/libavformat/mpegts.h b/libavformat/mpegts.h
> index 059b693f07..fe10b38691 100644
> --- a/libavformat/mpegts.h
> +++ b/libavformat/mpegts.h
> @@ -137,6 +137,13 @@
> #define STREAM_TYPE_AUDIO_TRUEHD 0x83
> #define STREAM_TYPE_AUDIO_EAC3 0x87
>
> +/* ISO/IEC 13818-1 Table 2-22 */
> +#define STREAM_ID_PRIVATE_STREAM_1 0xbd
> +#define STREAM_ID_AUDIO_STREAM_0 0xc0
> +#define STREAM_ID_VIDEO_STREAM_0 0xe0
> +#define STREAM_ID_METADATA_STREAM 0xfc
> +#define STREAM_ID_EXTENDED_STREAM_ID 0xfd
> +
> typedef struct MpegTSContext MpegTSContext;
>
> MpegTSContext *avpriv_mpegts_parse_open(AVFormatContext *s);
> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> index b5ee48d015..d827ba3e28 100644
> --- a/libavformat/mpegtsenc.c
> +++ b/libavformat/mpegtsenc.c
> @@ -1382,28 +1382,28 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st,
> is_dvb_teletext = 0;
> if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
> if (st->codecpar->codec_id == AV_CODEC_ID_DIRAC)
> - *q++ = 0xfd;
> + *q++ = STREAM_ID_EXTENDED_STREAM_ID;
> else
> - *q++ = 0xe0;
> + *q++ = STREAM_ID_VIDEO_STREAM_0;
> } else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
> (st->codecpar->codec_id == AV_CODEC_ID_MP2 ||
> st->codecpar->codec_id == AV_CODEC_ID_MP3 ||
> st->codecpar->codec_id == AV_CODEC_ID_AAC)) {
> - *q++ = 0xc0;
> + *q++ = STREAM_ID_AUDIO_STREAM_0;
> } else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO &&
> st->codecpar->codec_id == AV_CODEC_ID_AC3 &&
> ts->m2ts_mode) {
> - *q++ = 0xfd;
> + *q++ = STREAM_ID_EXTENDED_STREAM_ID;
> } else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA &&
> st->codecpar->codec_id == AV_CODEC_ID_TIMED_ID3) {
> - *q++ = 0xbd;
> + *q++ = STREAM_ID_PRIVATE_STREAM_1;
> } else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA) {
> - *q++ = stream_id != -1 ? stream_id : 0xfc;
> + *q++ = stream_id != -1 ? stream_id : STREAM_ID_METADATA_STREAM;
>
> - if (stream_id == 0xbd) /* asynchronous KLV */
> + if (stream_id == STREAM_ID_PRIVATE_STREAM_1) /* asynchronous KLV */
> pts = dts = AV_NOPTS_VALUE;
> } else {
> - *q++ = 0xbd;
> + *q++ = STREAM_ID_PRIVATE_STREAM_1;
> if (st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) {
> if (st->codecpar->codec_id == AV_CODEC_ID_DVB_SUBTITLE) {
> is_dvb_subtitle = 1;
> --
> 2.17.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
More information about the ffmpeg-devel
mailing list