aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Zander <riggs@FreeBSD.org>2023-02-12 11:00:38 +0000
committerThomas Zander <riggs@FreeBSD.org>2023-02-12 11:59:46 +0000
commitd8b84fe7c9c4ac81c77f67e941b27bfd51bb3678 (patch)
tree07158e1c2c6dbcffcc06f32fd5fe6cb120dee38c
parent839280eaa1b542477805db49b8d13ea1a87162a7 (diff)
downloadports-d8b84fe7c9c4ac81c77f67e941b27bfd51bb3678.tar.gz
ports-d8b84fe7c9c4ac81c77f67e941b27bfd51bb3678.zip
multimedia/mplayer: Fix build with llvm15
Details: - clang15 performs stricter checks for pointer conversions, some questionable conversions graduated from warnings to errors - Fixes multimedia/mencoder builds as well MFH: 2023Q1
-rw-r--r--multimedia/mplayer/files/patch-libmpcodecs_ve__lavc.c11
-rw-r--r--multimedia/mplayer/files/patch-loader_ext.c11
-rw-r--r--multimedia/mplayer/files/patch-loader_module.c20
-rw-r--r--multimedia/mplayer/files/patch-loader_win32.c66
4 files changed, 108 insertions, 0 deletions
diff --git a/multimedia/mplayer/files/patch-libmpcodecs_ve__lavc.c b/multimedia/mplayer/files/patch-libmpcodecs_ve__lavc.c
new file mode 100644
index 000000000000..e0bd7ef69167
--- /dev/null
+++ b/multimedia/mplayer/files/patch-libmpcodecs_ve__lavc.c
@@ -0,0 +1,11 @@
+--- libmpcodecs/ve_lavc.c.orig 2022-08-30 20:40:03 UTC
++++ libmpcodecs/ve_lavc.c
+@@ -441,7 +441,7 @@ static int config(struct vf_instance *vf,
+ mp_msg(MSGT_MENCODER,MSGL_ERR,"error parsing vrc_q\n");
+ return 0;
+ }
+- lavc_venc_context->rc_override=
++ lavc_venc_context->rc_override=(struct RcOverride *)
+ av_reallocp_array(lavc_venc_context->rc_override, i+1, sizeof(*lavc_venc_context->rc_override));
+ lavc_venc_context->rc_override[i].start_frame= start;
+ lavc_venc_context->rc_override[i].end_frame = end;
diff --git a/multimedia/mplayer/files/patch-loader_ext.c b/multimedia/mplayer/files/patch-loader_ext.c
new file mode 100644
index 000000000000..8bddcf64f602
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_ext.c
@@ -0,0 +1,11 @@
+--- loader/ext.c.orig 2021-01-23 18:22:09 UTC
++++ loader/ext.c
+@@ -444,7 +444,7 @@ LPVOID WINAPI VirtualAlloc(LPVOID address, DWORD size,
+
+ if (type&MEM_RESERVE && (unsigned)address&0xffff) {
+ size += (unsigned)address&0xffff;
+- address = (unsigned)address&~0xffff;
++ address = (void*)((unsigned)address&~0xffff);
+ }
+ pgsz = sysconf(_SC_PAGESIZE);
+ if (type&MEM_COMMIT && (unsigned)address%pgsz) {
diff --git a/multimedia/mplayer/files/patch-loader_module.c b/multimedia/mplayer/files/patch-loader_module.c
new file mode 100644
index 000000000000..bcdeabbe3ba8
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_module.c
@@ -0,0 +1,20 @@
+--- loader/module.c.orig 2011-07-30 20:44:37 UTC
++++ loader/module.c
+@@ -844,7 +844,7 @@ static int report_func(void *stack_base, int stack_siz
+ // memory management:
+ case 0x150011: //NewPtrClear
+ case 0x150012: //NewPtrSysClear
+- reg->eax = malloc(((uint32_t *)stack_base)[1]);
++ reg->eax = (uint32_t)malloc(((uint32_t *)stack_base)[1]);
+ memset((void *)reg->eax,0,((uint32_t *)stack_base)[1]);
+ #ifdef DEBUG_QTX_API
+ printf("%*sLEAVE(%d): EMULATED! 0x%X\n",ret_i*2,"",ret_i, reg->eax);
+@@ -852,7 +852,7 @@ static int report_func(void *stack_base, int stack_siz
+ return 1;
+ case 0x15000F: //NewPtr
+ case 0x150010: //NewPtrSys
+- reg->eax = malloc(((uint32_t *)stack_base)[1]);
++ reg->eax = (uint32_t)malloc(((uint32_t *)stack_base)[1]);
+ #ifdef DEBUG_QTX_API
+ printf("%*sLEAVE(%d): EMULATED! 0x%X\n",ret_i*2,"",ret_i, reg->eax);
+ #endif
diff --git a/multimedia/mplayer/files/patch-loader_win32.c b/multimedia/mplayer/files/patch-loader_win32.c
new file mode 100644
index 000000000000..604d4e35c657
--- /dev/null
+++ b/multimedia/mplayer/files/patch-loader_win32.c
@@ -0,0 +1,66 @@
+--- loader/win32.c.orig 2021-01-23 18:22:09 UTC
++++ loader/win32.c
+@@ -1504,7 +1504,7 @@ static void WINAPI expDeleteCriticalSection(CRITICAL_S
+ static int WINAPI expGetCurrentThreadId(void)
+ {
+ dbgprintf("GetCurrentThreadId() => %d\n", pthread_self());
+- return pthread_self();
++ return (int)pthread_self();
+ }
+ static int WINAPI expGetCurrentProcess(void)
+ {
+@@ -2019,15 +2019,15 @@ static DWORD WINAPI expSignalObjectAndWait(HANDLE hObj
+ expSetEvent(mlist);
+ break;
+ case 1: // Semaphore
+- expReleaseSemaphore(mlist, 1, NULL);
++ expReleaseSemaphore((long)mlist, 1, NULL);
+ break;
+ case 2: // Mutex
+- expReleaseMutex(mlist);
++ expReleaseMutex((long)mlist);
+ break;
+ default:
+ dbgprintf("Signalling unknown object type %d!\n", hObjectToSignal);
+ }
+- return expWaitForSingleObject(hObjectToWaitOn, dwMilliseconds);
++ return (DWORD)expWaitForSingleObject((void*)hObjectToWaitOn, dwMilliseconds);
+ }
+
+ static long WINAPI expRegOpenKeyExA(long key, const char* subkey, long reserved, long access, int* newkey)
+@@ -2751,7 +2751,7 @@ static int WINAPI expEnumDisplayMonitors(void *dc, REC
+ {
+ dbgprintf("EnumDisplayMonitors(0x%x, 0x%x, 0x%x, 0x%x) => ?\n",
+ dc, r, callback_proc, callback_param);
+- return callback_proc(0, dc, r, callback_param);
++ return callback_proc(0, (HDC)dc, r, (LPARAM)callback_param);
+ }
+
+ #if 0
+@@ -2851,14 +2851,14 @@ static int WINAPI expEnumWindows(int (*callback_func)(
+ {
+ int i, i2;
+ dbgprintf("EnumWindows(0x%x, 0x%x) => 1\n", callback_func, callback_param);
+- i = callback_func(0, callback_param);
+- i2 = callback_func(1, callback_param);
++ i = callback_func(0, (LPARAM)callback_param);
++ i2 = callback_func(1, (LPARAM)callback_param);
+ return i && i2;
+ }
+
+ static int WINAPI expGetWindowThreadProcessId(HWND win, int *pid_data)
+ {
+- int tid = pthread_self();
++ int tid = (int)pthread_self();
+ dbgprintf("GetWindowThreadProcessId(0x%x, 0x%x) => %d\n",
+ win, pid_data, tid);
+ if (pid_data)
+@@ -4940,7 +4940,7 @@ static HPALETTE WINAPI expCreatePalette(CONST LOGPALET
+ dbgprintf("CreatePalette(%x) => NULL\n", lpgpl);
+
+ i = sizeof(LOGPALETTE)+((lpgpl->palNumEntries-1)*sizeof(PALETTEENTRY));
+- test = malloc(i);
++ test = (HPALETTE)malloc(i);
+ memcpy((void *)test, lpgpl, i);
+
+ return test;