From e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65 Mon Sep 17 00:00:00 2001 From: Martin Storsjö Date: Fri, 9 Aug 2013 11:06:46 +0300 Subject: libavutil: Make avpriv_open a library-internal function on msvcrt MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. Signed-off-by: Martin Storsjö --- libavutil/internal.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libavutil/internal.h') diff --git a/libavutil/internal.h b/libavutil/internal.h index 355a42a7b4..b18860f084 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -196,6 +196,10 @@ void avpriv_report_missing_feature(void *avc, void avpriv_request_sample(void *avc, const char *msg, ...) av_printf_format(2, 3); +#if HAVE_MSVCRT +#define avpriv_open ff_open +#endif + /** * A wrapper for open() setting O_CLOEXEC. */ -- cgit v1.2.3