diff --git a/ffmpeg.c b/ffmpeg.c index bb3e246ccb..2f8cc0ef28 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2049,7 +2049,8 @@ static int output_packet(InputStream *ist, const AVPacket *pkt) ist->pts = ist->next_pts; ist->dts = ist->next_dts; - if (avpkt.size && avpkt.size != pkt->size) { + if (avpkt.size && avpkt.size != pkt->size && + !(ist->dec->capabilities & CODEC_CAP_SUBFRAMES)) { av_log(NULL, ist->showed_multi_packet_warning ? AV_LOG_VERBOSE : AV_LOG_WARNING, "Multiple frames in a packet from stream %d\n", pkt->stream_index); ist->showed_multi_packet_warning = 1;