diff mbox series

[FFmpeg-devel] lavf/vsrc_ddagrab: WinAPI functions must be called as stdcall in x86_32

Message ID 1018105199.20240407085706@relost.net
State New
Headers show
Series [FFmpeg-devel] lavf/vsrc_ddagrab: WinAPI functions must be called as stdcall in x86_32 | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Vadim Guchenko April 7, 2024, 12:57 a.m. UTC
Now I get Access Violation when using ddagrab filter in ffmpeg compiled for x86_32 architecture.

More information here: https://trac.ffmpeg.org/ticket/10914

Comments

Henrik Gramner April 7, 2024, 9:32 a.m. UTC | #1
On Sun, Apr 7, 2024 at 2:59 AM Vadim Guchenko <yhw@relost.net> wrote:
> +    typedef DPI_AWARENESS_CONTEXT (__stdcall *set_thread_dpi_t)(DPI_AWARENESS_CONTEXT);

I believe most existing code uses WINAPI instead of __stdcall.
diff mbox series

Patch

diff --git a/libavfilter/vsrc_ddagrab.c b/libavfilter/vsrc_ddagrab.c
--- a/libavfilter/vsrc_ddagrab.c
+++ b/libavfilter/vsrc_ddagrab.c
@@ -178,7 +178,7 @@  static av_cold int init_dxgi_dda(AVFilterContext *avctx)
 #if HAVE_IDXGIOUTPUT5 && HAVE_DPI_AWARENESS_CONTEXT
     IDXGIOutput5 *dxgi_output5 = NULL;
 
-    typedef DPI_AWARENESS_CONTEXT (*set_thread_dpi_t)(DPI_AWARENESS_CONTEXT);
+    typedef DPI_AWARENESS_CONTEXT (__stdcall *set_thread_dpi_t)(DPI_AWARENESS_CONTEXT);
     set_thread_dpi_t set_thread_dpi;
     HMODULE user32_module;
 #endif