From patchwork Wed Jun 3 11:15:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Foss X-Patchwork-Id: 20135 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 433DB44B411 for ; Wed, 3 Jun 2020 14:23:09 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1EC0D68AF26; Wed, 3 Jun 2020 14:23:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A5D0D68AF26 for ; Wed, 3 Jun 2020 14:23:01 +0300 (EEST) Received: by mail-pl1-f202.google.com with SMTP id y10so1557584pll.16 for ; Wed, 03 Jun 2020 04:23:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=HFeIS6OKzQP7Xvr9clfoZOmR331HGFy0lKkVuuQs8Mo=; b=SYocKl+5T3ZW8tkKVhhfUCez/fqCI3cJmbD2ykncBNjoWIB/k15qMnoP69THNOJOxt WOU+4KIHrJCcY/uQ2Jwz/xr284rXCqLn+V/+UcYyC0j/nQI8QGiZV0MYy9h+MrAbO2xb mGqFODVA0xlZi9EXVVpu0LULRDi6oBzIgSyQ9cCPRN0I9fhKsKX5RRXOlNzF/jv2sq/r uJmcFg/AmOftn/SB1YlOUWIrMe4LAfiZSDRctsbJtWQi9PPpkPjbJRT1cy+pEjgtwBYb GQgvRBhUoowkQDi8/mV7cNWprseoYUmwXEA4p0dXlHRY7eeHXXIaki0DU3H3vnhHwXpx JNKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=HFeIS6OKzQP7Xvr9clfoZOmR331HGFy0lKkVuuQs8Mo=; b=gJsoFWpJi9eeZaz8p9zBgDTNT0mQZ/knt3z2McxXsPFJztgqRcd2TuVO07wtpy8Pd6 Y4jzd6Si+4AirMnto/0d5+IAs+T2R9v0ykazkqGbsY5basohuSOtlW0XuH4jI15xe1+1 Hb4Ewsnggz972AlJ5fbIM7Dys10ykA15drmSipk4HVkQky6RI3y/MkZ4KZK8APvjPi8J 2J4AtY46RPe7xGnXLPYg7pvdXGu1xJGVO4TrUo8M65L8KgIelpL1pa1nUGEfHRzSDSkZ 25oHdJpquarYD7KWJSJFBJnnUQ7iqvPMOr2qHfnfF3A/pflwRNb279w5/3SWqNFt1cKt ANCg== X-Gm-Message-State: AOAM532d8I7NkgWH819UZwWglsGiAsK05Ofw2qdC828ull3LuOqK7/CS h4smO2s2nxnH3YS7GFJCB8pOnDcIyh3yjBp3qY0D4unm49SS0/XE4vmxXWKGLKQtjX7zhW5U7om K7kxd0YHklvhswo2lnhGtM9rXvGuiNi+lzlRN4r5eF4TELKg6+McZbALxsxIc X-Google-Smtp-Source: ABdhPJz3+7OSBQaUd95n4QqjeebWQ7Ywe/FAYTcNCpmb8CXFPwSE+aeNfqVW4yYtkg2QOj8VSgEFRRMdLQ== X-Received: by 2002:a0c:ed27:: with SMTP id u7mr6129262qvq.128.1591182935400; Wed, 03 Jun 2020 04:15:35 -0700 (PDT) Date: Wed, 3 Jun 2020 07:15:28 -0400 In-Reply-To: <20200601145708.202297-1-sfoss@google.com> Message-Id: <20200603111528.200291-1-sfoss@google.com> Mime-Version: 1.0 References: <20200601145708.202297-1-sfoss@google.com> X-Mailer: git-send-email 2.27.0.278.ge193c7cf3a9-goog From: Samuel Foss To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH] avformat/utils: Find a fallback probe decoder that will also match a forced decoder's codec. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Samuel Foss Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Prevent codecpar->codec_id from getting out of sync with the codec instantiated for probing. Signed-off-by: Samuel Foss --- libavformat/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index c9385318f6..b3d902c6b5 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -219,7 +219,7 @@ static const AVCodec *find_probe_decoder(AVFormatContext *s, const AVStream *st, const AVCodec *probe_codec = NULL; void *iter = NULL; while ((probe_codec = av_codec_iterate(&iter))) { - if (probe_codec->id == codec_id && + if (probe_codec->id == codec->id && av_codec_is_decoder(probe_codec) && !(probe_codec->capabilities & (AV_CODEC_CAP_AVOID_PROBING | AV_CODEC_CAP_EXPERIMENTAL))) { return probe_codec;