From patchwork Thu May 19 23:15:14 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Aman Karmani X-Patchwork-Id: 35842 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:9992:b0:82:461d:f3b with SMTP id ve18csp321659pzb; Thu, 19 May 2022 16:15:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyFGfld2W3VLcJui8yqLjhQi3QxQd4t+5Xq+00pOQZu6Tiwc3m15CFRh3yu0IcwC7U6YIta X-Received: by 2002:a05:6402:908:b0:428:11f5:509d with SMTP id g8-20020a056402090800b0042811f5509dmr8019091edz.253.1653002154624; Thu, 19 May 2022 16:15:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1653002154; cv=none; d=google.com; s=arc-20160816; b=xmJz9tY+FXQjTCgekx2ybm02DtT3Kterx73IQ9ygQ+j1PGBdsr8FYLzu6T634sWA75 cWJUWfhJFtNtqwOi0w2leJlCGry6onmKSpzrCNf6nIV01+nybVHs8CGA0yZN5xnHY2Cn UXkN0iSbqPPHbWqorveqD/ItSBt7Xp/oKKeCH2uXcemNZIXTdG/q0OhZwzKR6oXwh9xt YanhGmdPHBGb2OUoHaQmG2SQMTxejBQafMXlKSHBKjo9W8DrdWEFMjKPayg6DMSAFDYk 1147AItPw6U5AhV4z9ZVJWOBnFGj1VslyGGe7MjdVgE7x247XMFJWt8fI9gPSK9NSIfB nClw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:to:fcc:mime-version:date:references :in-reply-to:message-id:from:dkim-signature:delivered-to; bh=hx0ckZhX+vLOq9AnsyO0dvQ4q/rcgUijQPaCZorpO3s=; b=QF84N2PInjkmvuBEZALnBqr0Xk/9JJKoGaQSX8y+RZ9idH/4zhT15MYbRD8y8zWM1n DeI7MdMWinmInqmLwmftJreNNNi2AMd49z/qjna+nhlGXoOhm0AR0MOmaUKXs+S1X8ZF pWCtOnXfmloKVK1gtjklClrjxhoPTBYzvFdHRQ34f18K1/XG/BD2ZQOunHezfdo9ibra EU9/rnvmrvITTjFTYV33HQ657MfpDgUUvNG0ZH4+bJrUR5RO4Y7lXwg3lHyuM1YoXPTh HI0gmeI67SfbPHNvoLkC56JR6YagWHmCY4aJevD1dVGyCknk6a3tLbUC0LUCC7dL7aO3 itQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=Rj2pj34F; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id p3-20020a056402074300b0042880054719si6015595edy.376.2022.05.19.16.15.54; Thu, 19 May 2022 16:15:54 -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=@gmail.com header.s=20210112 header.b=Rj2pj34F; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 26A1268B4B3; Fri, 20 May 2022 02:15:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A34F168B4E1 for ; Fri, 20 May 2022 02:15:20 +0300 (EEST) Received: by mail-pj1-f44.google.com with SMTP id gg20so6553429pjb.1 for ; Thu, 19 May 2022 16:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:message-id:in-reply-to:references:date:subject:mime-version :content-transfer-encoding:fcc:to:cc; bh=5t/WXneC0XPJYs3h+jqd5f/p6/UYCN8ISq6H7sn29T8=; b=Rj2pj34FuhPMRgJMWb8VhrTv0PbzSessZbMgD4IYQLWLqz6e9c3iLCQ6x+WYg+k0s0 I+U85dbMskhwrn8GfmK/SRU7C6xpDXqI47boKRBWU9+uagPpskoB0Bhhf9M2b1OekUxl ImQfAMPu6Gy0FvzNtQRlgJoexDU0vOYHdvvV3+zvX8OTjmDPntNieANyj8W92F9zpPdF ejygVoO+9k0MU0Wryvm8dqWd+7Dr45/zvSFdKoQD1LsXEtMdgJ+EiQjRmUY0tYyWFD7f 699AlMGJmYZLrxlaczDu7h+nZGVN8o29wa7dAMpLzOqebkKQpuSh94BiTHSP3ekm4x2C NM9w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:message-id:in-reply-to:references:date :subject:mime-version:content-transfer-encoding:fcc:to:cc; bh=5t/WXneC0XPJYs3h+jqd5f/p6/UYCN8ISq6H7sn29T8=; b=bJvaeNJxcDNdh6mWaUyRpM1RowUm59fgxv55jzF7tIi6EsExINfixts2IdYImp2kTM EXctldCloXOl6DqgnSpxdCjgLWeaQ6lI0aT5VM/GmTdvVj9oVMGZQzgccpfaaW41CcfV brRcnB5Z3AJdfzDZCoVLFp7CyQokA+ZSZxdTmos7O3VdN+WASHOSMafkCg90coUje6je no/sWRqtPRy3bbbRrzNW77+4Ugop0KHWK43J9WQND3Kx4NnKUOJxyQMYuFoApdHgLNCC 31NLdumZQHtTzH2O77vQf08TtNZ8ba0W+Kd0d0tYrevhIH6RDx0Z+bFShQu+BwRcsXWv YvoQ== X-Gm-Message-State: AOAM5333Rb9raMBCUJiv89oAG0MRvE22CVcP1y2hiW5q4LTIDyx7Uop0 YH8bTKo4lpZSmf7Pl3tkAmeFMm90yMD5jA== X-Received: by 2002:a17:90a:a097:b0:1de:cddd:1970 with SMTP id r23-20020a17090aa09700b001decddd1970mr7700575pjp.65.1653002118860; Thu, 19 May 2022 16:15:18 -0700 (PDT) Received: from [127.0.0.1] (master.gitmailbox.com. [34.83.118.50]) by smtp.gmail.com with ESMTPSA id lj14-20020a17090b344e00b001df67a6da6asm370827pjb.7.2022.05.19.16.15.18 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 19 May 2022 16:15:18 -0700 (PDT) From: softworkz X-Google-Original-From: softworkz Message-Id: <4035d5dd7b2309e7329fc7ae5123945a5bef1e65.1653002114.git.ffmpegagent@gmail.com> In-Reply-To: References: Date: Thu, 19 May 2022 23:15:14 +0000 MIME-Version: 1.0 Fcc: Sent To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v6 3/3] avfilter: Make avpriv_open a library-internal function on msvcrt X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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: Martin =?utf-8?q?Storsj=C3=B6?= , softworkz , Tobias Rapp Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CZb7+L0NDl/a From: softworkz This applies the same change for libavfilter as commit e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65 did for the other libraries. Original commit message: Add one copy of the function into each of the libraries, similarly to what we do for log2_tab. When using static libs, only one copy of the file_open.o object file gets included, while when using shared libraries, each of them get a copy of its own. This fixes DLL builds with a statically linked C runtime, where each DLL effectively has got its own instance of the C runtime, where file descriptors can't be shared across runtimes. On systems not using msvcrt, the function is not duplicated. Based-on-patch-by: Martin Storsjö Signed-off-by: softworkz --- libavfilter/Makefile | 1 + libavfilter/file_open.c | 1 + tests/ref/fate/source | 1 + 3 files changed, 3 insertions(+) create mode 100644 libavfilter/file_open.c diff --git a/libavfilter/Makefile b/libavfilter/Makefile index ee2ea51e69..78ccfa37d3 100644 --- a/libavfilter/Makefile +++ b/libavfilter/Makefile @@ -23,6 +23,7 @@ OBJS = allfilters.o \ version.o \ video.o \ +OBJS-$(HAVE_LIBC_MSVCRT) += file_open.o OBJS-$(HAVE_THREADS) += pthread.o # subsystems diff --git a/libavfilter/file_open.c b/libavfilter/file_open.c new file mode 100644 index 0000000000..494a5d37a4 --- /dev/null +++ b/libavfilter/file_open.c @@ -0,0 +1 @@ +#include "libavutil/file_open.c" diff --git a/tests/ref/fate/source b/tests/ref/fate/source index 69dcdc4f27..16ea7ef9c1 100644 --- a/tests/ref/fate/source +++ b/tests/ref/fate/source @@ -8,6 +8,7 @@ libavcodec/reverse.c libavdevice/file_open.c libavdevice/reverse.c libavfilter/af_arnndn.c +libavfilter/file_open.c libavfilter/log2_tab.c libavformat/file_open.c libavformat/golomb_tab.c