From patchwork Wed Oct 19 17:27:59 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Cadhalpun X-Patchwork-Id: 1079 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.133 with SMTP id o127csp301998vsd; Wed, 19 Oct 2016 10:35:36 -0700 (PDT) X-Received: by 10.194.6.36 with SMTP id x4mr5802422wjx.175.1476898536254; Wed, 19 Oct 2016 10:35:36 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id z17si55407786wjw.26.2016.10.19.10.35.35; Wed, 19 Oct 2016 10:35:36 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6E79668925D; Wed, 19 Oct 2016 20:35:30 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf0-f43.google.com (mail-lf0-f43.google.com [209.85.215.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0562F680774 for ; Wed, 19 Oct 2016 20:35:24 +0300 (EEST) Received: by mail-lf0-f43.google.com with SMTP id b75so33653261lfg.3 for ; Wed, 19 Oct 2016 10:35:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to; bh=oEV527bgz2+HmNr1a7aJHp1nCKIi/zEU6O1aff5RTOQ=; b=bpNjunfBfZA/eUGQul3KXDlScZC2+vSwL/4ahi56jWv9hZocE/Hy0x64BQchV/pxzk OiENmDHluMcxD9o3ubitbUQCIdEyFsJQikznTgn5a5kW6uL5P0Xh9W2QImonsL8iAmGZ qSWZj44db0xXonHssey3ihUWJvcx5RRN5dOvFc8qAQBTVDovVALxtqDdGQB9TerQDc/v 9Xm7wpWz/QeN9Rzoyqlc7SIRj6aj7F4znkiZqVwuTERVE3bKVQ1FNj1Fw9ch23GbMWDk XxebxOn5WqRX+69eKHXLMgWW6QKRN1WuQOOMBZ17/AQt9NV9BH9ymzKCu4uFbZ4TzSAX ubVQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to; bh=oEV527bgz2+HmNr1a7aJHp1nCKIi/zEU6O1aff5RTOQ=; b=RRx7TAgVn+aRLmqADkwgLQd4SvfIJ/DfasE3rV9zAM4lT5gJ57H+zyhoL2XywGskX5 Zmd051+IC65sBnX+i/iQj/sjW/ZWpoHswnQdwJht4qQesW6GynSTyYCjAwCa9XIvQ9gu OxA2xoz1C2ipnzQ4n1GSJh4Dm+DJ5t6myin+k5mkMylQpyMnGK+xisNdd+RRWrt2PkuA OW8a9CslZDQTy2qjh/U5IArPgciptjMkxEGFpOWWjAJSKVGQtH6bvujtYf4GiZEn2peE 58VD/MJcPY1juF98hF9XJbrdoo1pi4JUTJbMFSHc8paAqqOXodZmY7kTpF90WigzY18y 3YeQ== X-Gm-Message-State: AA6/9Rl7cVQxEcLZl5mmJ566Vy0uPSS0MpO+9AB8QzLGvhwSRI2axr2bcS6f0MnlEspnsQ== X-Received: by 10.25.35.6 with SMTP id j6mr6917674lfj.147.1476898083116; Wed, 19 Oct 2016 10:28:03 -0700 (PDT) Received: from [192.168.2.21] (pD9E8EB58.dip0.t-ipconnect.de. [217.232.235.88]) by smtp.googlemail.com with ESMTPSA id y75sm9916171lfi.43.2016.10.19.10.28.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Oct 2016 10:28:02 -0700 (PDT) From: Andreas Cadhalpun X-Google-Original-From: Andreas Cadhalpun To: FFmpeg development discussions and patches References: <08deadd4-2dc6-27c3-d6f5-af6a85ca622c@googlemail.com> <20161018205640.GC4602@nb4> <9babcd33-2ac4-cf86-1b32-36811e54aac4@googlemail.com> <20161019032923.GE4602@nb4> Message-ID: <82ade2e1-0155-3d3d-d094-0cfea447f125@googlemail.com> Date: Wed, 19 Oct 2016 19:27:59 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Icedove/45.4.0 MIME-Version: 1.0 In-Reply-To: <20161019032923.GE4602@nb4> Subject: Re: [FFmpeg-devel] [PATCH] avformat: remove request_probe assert from ff_read_packet 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" On 19.10.2016 05:29, Michael Niedermayer wrote: > hmm, i guess the patch is then ok > alternatively you could use i think: > @@ -803,7 +803,7 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) > return ret; > for (i = 0; i < s->nb_streams; i++) { > st = s->streams[i]; > - if (st->probe_packets) > + if (st->probe_packets || st->request_probe > 0) > if ((err = probe_codec(s, st, NULL)) < 0) > return err; > av_assert0(st->request_probe <= 0); Yes, this works fine and should guarantee that the assert can't be triggered. Patch doing it that way is attached. Best regards, Andreas From 7912c6f200a37130844221a73941a7971afa6455 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun Date: Wed, 19 Oct 2016 19:23:49 +0200 Subject: [PATCH] avformat: prevent triggering request_probe assert in ff_read_packet If probe_codec is called with pkt == NULL, it sets probe_packets to 0 and request_probe to -1. However, request_probe can change when calling s->iformat->read_packet and thus a probe_packets value of 0 doesn't guarantee a request_probe value of -1. In that case calling probe_codec again is necessary to prevent triggering the assert. Signed-off-by: Andreas Cadhalpun --- libavformat/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 8a51aea..70dbfa1 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -803,7 +803,7 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) return ret; for (i = 0; i < s->nb_streams; i++) { st = s->streams[i]; - if (st->probe_packets) + if (st->probe_packets || st->request_probe > 0) if ((err = probe_codec(s, st, NULL)) < 0) return err; av_assert0(st->request_probe <= 0); -- 2.9.3