From 57196d634ed7c3d006b9d6aa68d7e69b5d3dfd2c Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sat, 11 Jan 2025 13:40:39 +0100 Subject: [PATCH] winscreencap: Don't use aggregate returns Part-of: --- .../sys/winscreencap/gstgdiscreencapsrc.c | 3 ++- .../sys/winscreencap/gstwinscreencap.c | 11 ++++------- .../sys/winscreencap/gstwinscreencap.h | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/winscreencap/gstgdiscreencapsrc.c b/subprojects/gst-plugins-bad/sys/winscreencap/gstgdiscreencapsrc.c index a398bd643d..fafc1e33ac 100644 --- a/subprojects/gst-plugins-bad/sys/winscreencap/gstgdiscreencapsrc.c +++ b/subprojects/gst-plugins-bad/sys/winscreencap/gstgdiscreencapsrc.c @@ -353,7 +353,8 @@ gst_gdiscreencapsrc_get_caps (GstBaseSrc * bsrc, GstCaps * filter) RECT rect_dst; GstCaps *caps; - src->screen_rect = rect_dst = gst_win32_get_monitor_rect (src->monitor); + gst_win32_get_monitor_rect (src->monitor, &rect_dst); + src->screen_rect = rect_dst; if (src->capture_w && src->capture_h && src->capture_x + src->capture_w < rect_dst.right - rect_dst.left && diff --git a/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.c b/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.c index 2dd7150cfc..a9543e52c7 100644 --- a/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.c +++ b/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.c @@ -33,10 +33,9 @@ _diplay_monitor_enum (HMONITOR hMon, HDC hdc, LPRECT rect, LPARAM param) return TRUE; } -RECT -gst_win32_get_monitor_rect (UINT index) +void +gst_win32_get_monitor_rect (UINT index, RECT * rect) { - RECT ret_rect; LPRECT data; data = (LPRECT) malloc (sizeof (RECT) * GetSystemMetrics (SM_CMONITORS)); @@ -44,13 +43,11 @@ gst_win32_get_monitor_rect (UINT index) LPRECT tmp = data; EnumDisplayMonitors (NULL, NULL, _diplay_monitor_enum, (LPARAM) & tmp); - ret_rect = data[index]; + *rect = data[index]; free (data); } else { - ZeroMemory (&ret_rect, sizeof (RECT)); + ZeroMemory (rect, sizeof (RECT)); } - - return ret_rect; } static gboolean diff --git a/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.h b/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.h index 80851ae782..1b39a938f9 100644 --- a/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.h +++ b/subprojects/gst-plugins-bad/sys/winscreencap/gstwinscreencap.h @@ -26,7 +26,7 @@ G_BEGIN_DECLS -RECT gst_win32_get_monitor_rect (UINT index); +void gst_win32_get_monitor_rect (UINT index, RECT *rect); G_END_DECLS