diff --git a/ffserver.c b/ffserver.c index b9bae76688..153a13091b 100644 --- a/ffserver.c +++ b/ffserver.c @@ -2101,9 +2101,9 @@ static int http_prepare_data(HTTPContext *c) if (c->feed_streams[i] == pkt.stream_index) { AVStream *st = c->fmt_in->streams[source_index]; pkt.stream_index = i; - if (st->codec->codec_type == CODEC_TYPE_AUDIO || - (st->codec->codec_type == CODEC_TYPE_VIDEO && - pkt.flags & PKT_FLAG_KEY)) + if (pkt.flags & PKT_FLAG_KEY && + (st->codec->codec_type == CODEC_TYPE_VIDEO || + c->stream->nb_streams == 1)) c->got_key_frame = 1; if (!c->stream->send_on_key || c->got_key_frame) goto send_it;