From: Jiangjie Gao <gaojiang...@live.com> 1. ref https://trac.ffmpeg.org/ticket/9782. 2. just check `codec_type`. 3. remove `pos > 100000`, we have AVFormatContext::probesize.
Signed-off-by: Jiangjie Gao <gaojiang...@live.com> --- libavformat/mpegts.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 6e761c07f1..80ffee0f41 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -2870,13 +2870,12 @@ static int handle_packet(MpegTSContext *ts, const uint8_t *packet, int64_t pos) break; } if (i == ts->nb_prg && ts->nb_prg > 0) { - int types = 0; for (i = 0; i < ts->stream->nb_streams; i++) { AVStream *st = ts->stream->streams[i]; - if (st->codecpar->codec_type >= 0) - types |= 1<<st->codecpar->codec_type; + if (st->codecpar->codec_type < 0) + break; } - if ((types & (1<<AVMEDIA_TYPE_AUDIO) && types & (1<<AVMEDIA_TYPE_VIDEO)) || pos > 100000) { + if (i == ts->stream->nb_streams) { av_log(ts->stream, AV_LOG_DEBUG, "All programs have pmt, headers found\n"); ts->stream->ctx_flags &= ~AVFMTCTX_NOHEADER; } -- 2.27.0.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".