From bcc19933af903cda7a824ee654bb0aedfad758de Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Tue, 10 Dec 2019 23:24:27 +0100 Subject: [PATCH] avformat/mpegtsenc: only allow one program in m2ts mode The standard does not allow more. Signed-off-by: Marton Balint --- libavformat/mpegtsenc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index bee996ad49..c3b9dd55d4 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -869,8 +869,13 @@ static int mpegts_init(AVFormatContext *s) ts->m2ts_pgssub_pid = M2TS_PGSSUB_START_PID; ts->m2ts_textsub_pid = M2TS_TEXTSUB_PID; - if (ts->m2ts_mode) + if (ts->m2ts_mode) { ts->pmt_start_pid = M2TS_PMT_PID; + if (s->nb_programs > 1) { + av_log(s, AV_LOG_ERROR, "Only one program is allowed in m2ts mode!\n"); + return AVERROR(EINVAL); + } + } if (s->max_delay < 0) /* Not set by the caller */ s->max_delay = 0;