diff --git a/libavformat/utils.c b/libavformat/utils.c index 72396af97f..52395d4592 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -315,6 +315,9 @@ static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st, fmt->name, score); for (i = 0; fmt_id_type[i].name; i++) { if (!strcmp(fmt->name, fmt_id_type[i].name)) { + if (fmt_id_type[i].type != AVMEDIA_TYPE_AUDIO && + st->codecpar->sample_rate) + continue; st->codecpar->codec_id = fmt_id_type[i].id; st->codecpar->codec_type = fmt_id_type[i].type; st->internal->need_context_update = 1;