mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-16 19:50:19 +01:00
30b4d98bfa
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
375 lines
13 KiB
Diff
375 lines
13 KiB
Diff
From 770789f265761fc7ab2de69ca105fec4ad93d9e2 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
|
Date: Mon, 26 Feb 2018 20:36:29 +0200
|
|
Subject: [PATCH 1/9] chromaprint: missing cast
|
|
|
|
(cherry picked from commit 7bd5bab3e43ae187f7219db61ed85d06d2ba0547)
|
|
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
---
|
|
modules/stream_out/chromaprint.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/modules/stream_out/chromaprint.c b/modules/stream_out/chromaprint.c
|
|
index 80ec31ba2590..c76cbda3c2bb 100644
|
|
--- a/modules/stream_out/chromaprint.c
|
|
+++ b/modules/stream_out/chromaprint.c
|
|
@@ -231,7 +231,7 @@ static int Send( sout_stream_t *p_stream, sout_stream_id_sys_t *id,
|
|
if ( !p_sys->b_finished && id->i_samples > 0 && p_buf->i_buffer )
|
|
{
|
|
if(! chromaprint_feed( p_sys->p_chromaprint_ctx,
|
|
- p_buf->p_buffer,
|
|
+ (int16_t *)p_buf->p_buffer,
|
|
p_buf->i_buffer / BYTESPERSAMPLE ) )
|
|
msg_Warn( p_stream, "feed error" );
|
|
id->i_samples -= i_samples;
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 6179d6b843f2a93af6a3d51c4244766e3eba9e77 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
|
Date: Sun, 14 Apr 2019 09:41:38 +0300
|
|
Subject: [PATCH 2/9] win32: wrap {g,s}etsockopt()
|
|
|
|
char * can alias anything, and Winsock relies on that. Unfortunately,
|
|
the compiler still issues warnings. This works around that.
|
|
|
|
(cherry picked from commit 36715d9b79f34824e126c2bc3aee2f1c1c16af46)
|
|
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
---
|
|
include/vlc_network.h | 16 ++++++++++++++++
|
|
1 file changed, 16 insertions(+)
|
|
|
|
diff --git a/include/vlc_network.h b/include/vlc_network.h
|
|
index 010454a01c09..e39ffd0bacaa 100644
|
|
--- a/include/vlc_network.h
|
|
+++ b/include/vlc_network.h
|
|
@@ -183,6 +183,22 @@ VLC_API int vlc_close(int);
|
|
|
|
/** @} */
|
|
|
|
+#ifdef _WIN32
|
|
+static inline int vlc_getsockopt(int s, int level, int name,
|
|
+ void *val, socklen_t *len)
|
|
+{
|
|
+ return getsockopt(s, level, name, (char *)val, len);
|
|
+}
|
|
+#define getsockopt vlc_getsockopt
|
|
+
|
|
+static inline int vlc_setsockopt(int s, int level, int name,
|
|
+ const void *val, socklen_t len)
|
|
+{
|
|
+ return setsockopt(s, level, name, (const char *)val, len);
|
|
+}
|
|
+#define setsockopt vlc_setsockopt
|
|
+#endif
|
|
+
|
|
/* Portable network names/addresses resolution layer */
|
|
|
|
#define NI_MAXNUMERICHOST 64
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 3391108f9709f0d77d9297c94371cf9cd30f2cbe Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Thu, 7 Dec 2023 15:43:04 +0100
|
|
Subject: [PATCH 3/9] netsync: use char for temporary local buffer
|
|
|
|
On Windows recvfrom/revc/sendto expects a char*.
|
|
---
|
|
modules/control/netsync.c | 14 +++++++-------
|
|
1 file changed, 7 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/modules/control/netsync.c b/modules/control/netsync.c
|
|
index 2a6a1a6a2bf8..8c91034d7cf2 100644
|
|
--- a/modules/control/netsync.c
|
|
+++ b/modules/control/netsync.c
|
|
@@ -181,7 +181,7 @@ static void *Master(void *handle)
|
|
intf_sys_t *sys = intf->p_sys;
|
|
for (;;) {
|
|
struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, };
|
|
- uint64_t data[2];
|
|
+ char data[16];
|
|
|
|
if (poll(&ufd, 1, -1) < 0)
|
|
continue;
|
|
@@ -198,8 +198,8 @@ static void *Master(void *handle)
|
|
if (master_system < 0)
|
|
continue;
|
|
|
|
- data[0] = hton64(mdate());
|
|
- data[1] = hton64(master_system);
|
|
+ SetQWBE(&data[0], mdate());
|
|
+ SetQWBE(&data[8], master_system);
|
|
|
|
/* Reply to the sender */
|
|
sendto(sys->fd, data, 16, 0,
|
|
@@ -224,7 +224,7 @@ static void *Slave(void *handle)
|
|
|
|
for (;;) {
|
|
struct pollfd ufd = { .fd = sys->fd, .events = POLLIN, };
|
|
- uint64_t data[2];
|
|
+ char data[16];
|
|
|
|
vlc_tick_t system = GetPcrSystem(sys->input);
|
|
if (system < 0)
|
|
@@ -233,7 +233,7 @@ static void *Slave(void *handle)
|
|
/* Send clock request to the master */
|
|
const vlc_tick_t send_date = mdate();
|
|
|
|
- data[0] = hton64(system);
|
|
+ SetQWBE(&data[0], system);
|
|
send(sys->fd, data, 8, 0);
|
|
|
|
/* Don't block */
|
|
@@ -244,8 +244,8 @@ static void *Slave(void *handle)
|
|
if (recv(sys->fd, data, 16, 0) < 16)
|
|
goto wait;
|
|
|
|
- const vlc_tick_t master_date = ntoh64(data[0]);
|
|
- const vlc_tick_t master_system = ntoh64(data[1]);
|
|
+ const vlc_tick_t master_date = GetQWBE(&data[0]);
|
|
+ const vlc_tick_t master_system = GetQWBE(&data[8]);
|
|
const vlc_tick_t diff_date = receive_date -
|
|
((receive_date - send_date) / 2 + master_date);
|
|
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 27e584d7b9add8dbbb82b7227228e1ec1e25a089 Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Tue, 3 Jan 2023 13:23:00 +0100
|
|
Subject: [PATCH 4/9] access/dtv: move the lfind() Windows hack in the module
|
|
|
|
So that we don't have to include search.h each time vlc_fixups.h is used.
|
|
|
|
The Win32 prototype of lfind() expects an unsigned* for 'nelp', not a size_t*.
|
|
|
|
(cherry picked from commit 7c43bcba27b6fe256456d93a9d32e10648f08da8)
|
|
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
---
|
|
include/vlc_fixups.h | 3 +++
|
|
modules/access/dtv/access.c | 5 +++++
|
|
2 files changed, 8 insertions(+)
|
|
|
|
diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
|
|
index 37f788933779..861cb4cc5063 100644
|
|
--- a/include/vlc_fixups.h
|
|
+++ b/include/vlc_fixups.h
|
|
@@ -501,8 +501,11 @@ void *tsearch( const void *key, void **rootp, int(*cmp)(const void *, const void
|
|
void *tfind( const void *key, const void **rootp, int(*cmp)(const void *, const void *) );
|
|
void *tdelete( const void *key, void **rootp, int(*cmp)(const void *, const void *) );
|
|
void twalk( const void *root, void(*action)(const void *nodep, VISIT which, int depth) );
|
|
+#ifndef _WIN32
|
|
+/* the Win32 prototype of lfind() expects an unsigned* for 'nmemb' */
|
|
void *lfind( const void *key, const void *base, size_t *nmemb,
|
|
size_t size, int(*cmp)(const void *, const void *) );
|
|
+#endif
|
|
#endif /* HAVE_SEARCH_H */
|
|
#ifndef HAVE_TDESTROY
|
|
void tdestroy( void *root, void (*free_node)(void *nodep) );
|
|
diff --git a/modules/access/dtv/access.c b/modules/access/dtv/access.c
|
|
index d9756c7b4885..c6ca5005883c 100644
|
|
--- a/modules/access/dtv/access.c
|
|
+++ b/modules/access/dtv/access.c
|
|
@@ -32,6 +32,11 @@
|
|
#ifdef HAVE_SEARCH_H
|
|
#include <search.h>
|
|
#endif
|
|
+#if defined(_WIN32)
|
|
+/* the Win32 prototype of lfind() expects an unsigned* for 'nelp' */
|
|
+# define lfind(a,b,c,d,e) \
|
|
+ lfind((a),(b), &(unsigned){ (*(c) > UINT_MAX) ? UINT_MAX : *(c) }, (d),(e))
|
|
+#endif
|
|
|
|
#include "dtv/dtv.h"
|
|
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 5a9ca37a95b6e85e6beaaefba9aa4a886a45411c Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Mon, 15 Jul 2019 12:41:29 +0200
|
|
Subject: [PATCH 5/9] vlc_common: fix swab() calls on win32 that don't use
|
|
const on source pointer
|
|
|
|
(cherry picked from commit a9e0b1124e19225b903a2926951781e84002c410)
|
|
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
---
|
|
include/vlc_common.h | 5 +++++
|
|
1 file changed, 5 insertions(+)
|
|
|
|
diff --git a/include/vlc_common.h b/include/vlc_common.h
|
|
index 8090b277150d..089878581763 100644
|
|
--- a/include/vlc_common.h
|
|
+++ b/include/vlc_common.h
|
|
@@ -947,6 +947,11 @@ static inline void SetQWLE (void *p, uint64_t qw)
|
|
# define O_NONBLOCK 0
|
|
# endif
|
|
|
|
+/* the mingw32 swab() and win32 _swab() prototypes expect a char* instead of a
|
|
+ const void* */
|
|
+# define swab(a,b,c) swab((char*) (a), (char*) (b), (c))
|
|
+
|
|
+
|
|
# include <tchar.h>
|
|
#endif /* _WIN32 */
|
|
|
|
--
|
|
GitLab
|
|
|
|
|
|
From b758e19479a80604e3feb470b197e4a13a203a85 Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Wed, 10 Jul 2019 08:23:45 +0200
|
|
Subject: [PATCH 6/9] avcodec: encoder: fix MPEG4 matrix passed as const
|
|
|
|
lavc expects a pointer that it will free in avcodec_free_context().
|
|
|
|
(cherry picked from commit d86c4c87aa78130a4fd00294e25df865d0e2b327)
|
|
Signed-off-by: Steve Lhomme <robux4@ycbcr.xyz>
|
|
---
|
|
modules/codec/avcodec/encoder.c | 10 ++++++++--
|
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c
|
|
index 2b1c3604713d..4919ccf0e0e4 100644
|
|
--- a/modules/codec/avcodec/encoder.c
|
|
+++ b/modules/codec/avcodec/encoder.c
|
|
@@ -588,8 +588,14 @@ int InitVideoEnc( vlc_object_t *p_this )
|
|
|
|
if ( p_sys->b_mpeg4_matrix )
|
|
{
|
|
- p_context->intra_matrix = mpeg4_default_intra_matrix;
|
|
- p_context->inter_matrix = mpeg4_default_non_intra_matrix;
|
|
+ p_context->intra_matrix = av_malloc( sizeof(mpeg4_default_intra_matrix) );
|
|
+ if ( p_context->intra_matrix )
|
|
+ memcpy( p_context->intra_matrix, mpeg4_default_intra_matrix,
|
|
+ sizeof(mpeg4_default_intra_matrix));
|
|
+ p_context->inter_matrix = av_malloc( sizeof(mpeg4_default_non_intra_matrix) );
|
|
+ if ( p_context->inter_matrix )
|
|
+ memcpy( p_context->inter_matrix, mpeg4_default_non_intra_matrix,
|
|
+ sizeof(mpeg4_default_non_intra_matrix));
|
|
}
|
|
|
|
if ( p_sys->b_pre_me )
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 55be3ce60795a09d13861c5637c1fe7aebc5ce8b Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Thu, 7 Dec 2023 14:18:22 +0100
|
|
Subject: [PATCH 7/9] smb: fix potential string to wide string copy
|
|
|
|
The type of net_resource depends on the UNICODE define.
|
|
---
|
|
modules/access/smb.c | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/modules/access/smb.c b/modules/access/smb.c
|
|
index 5fe56f0c9dfe..6add2a3e6278 100644
|
|
--- a/modules/access/smb.c
|
|
+++ b/modules/access/smb.c
|
|
@@ -524,7 +524,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server,
|
|
const char *psz_pwd, const char *psz_domain )
|
|
{
|
|
char psz_remote[MAX_PATH];
|
|
- NETRESOURCE net_resource;
|
|
+ NETRESOURCEA net_resource;
|
|
DWORD i_result;
|
|
VLC_UNUSED( psz_domain );
|
|
|
|
@@ -544,7 +544,7 @@ static void Win32AddConnection( stream_t *p_access, const char *psz_server,
|
|
|
|
net_resource.lpRemoteName = psz_remote;
|
|
|
|
- i_result = WNetAddConnection2( &net_resource, psz_pwd, psz_user, 0 );
|
|
+ i_result = WNetAddConnection2A( &net_resource, psz_pwd, psz_user, 0 );
|
|
|
|
if( i_result != NO_ERROR )
|
|
{
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 5ae924bf212dce64a6424561d92426dbcc2cf3a0 Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Wed, 6 Dec 2023 14:45:46 +0100
|
|
Subject: [PATCH 8/9] dxva2: add missing mask initializers
|
|
|
|
---
|
|
modules/codec/avcodec/dxva2.c | 10 +++++-----
|
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/modules/codec/avcodec/dxva2.c b/modules/codec/avcodec/dxva2.c
|
|
index 18b872fe0fe3..2e6809a05410 100644
|
|
--- a/modules/codec/avcodec/dxva2.c
|
|
+++ b/modules/codec/avcodec/dxva2.c
|
|
@@ -84,12 +84,12 @@ DEFINE_GUID(DXVA_Intel_H264_NoFGT_ClearVideo, 0x604F8E68, 0x4951, 0x4c54,
|
|
|
|
/* XXX Preferred format must come first */
|
|
static const d3d9_format_t d3d_formats[] = {
|
|
- { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12 },
|
|
- { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12 },
|
|
- //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12 },
|
|
- { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010 },
|
|
+ { "YV12", MAKEFOURCC('Y','V','1','2'), VLC_CODEC_YV12, 0,0,0 },
|
|
+ { "NV12", MAKEFOURCC('N','V','1','2'), VLC_CODEC_NV12, 0,0,0 },
|
|
+ //{ "IMC3", MAKEFOURCC('I','M','C','3'), VLC_CODEC_YV12, 0,0,0 },
|
|
+ { "P010", MAKEFOURCC('P','0','1','0'), VLC_CODEC_P010, 0,0,0 },
|
|
|
|
- { NULL, 0, 0 }
|
|
+ { NULL, 0, 0, 0,0,0 }
|
|
};
|
|
|
|
static const d3d9_format_t *D3dFindFormat(D3DFORMAT format)
|
|
--
|
|
GitLab
|
|
|
|
|
|
From 08c7a66780740679ba1b0abe9e30e73afc6bc271 Mon Sep 17 00:00:00 2001
|
|
From: Steve Lhomme <robux4@ycbcr.xyz>
|
|
Date: Wed, 6 Dec 2023 07:48:29 +0100
|
|
Subject: [PATCH 9/9] win32/modules: use cast with GetProcAddress function
|
|
pointers
|
|
|
|
---
|
|
src/text/url.c | 3 ++-
|
|
src/win32/plugin.c | 3 ++-
|
|
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/text/url.c b/src/text/url.c
|
|
index b962eb31f849..2eb4b8d10817 100644
|
|
--- a/src/text/url.c
|
|
+++ b/src/text/url.c
|
|
@@ -892,7 +892,8 @@ static int IdnToAscii(DWORD flags, LPCWSTR str, int len, LPWSTR buf, int size)
|
|
int (WINAPI *IdnToAsciiReal)(DWORD, LPCWSTR, int, LPWSTR, int);
|
|
int ret = 0;
|
|
|
|
- IdnToAsciiReal = GetProcAddress(h, "IdnToAscii");
|
|
+ IdnToAsciiReal = (int (WINAPI *)(DWORD, LPCWSTR, int, LPWSTR, int))
|
|
+ GetProcAddress(h, "IdnToAscii");
|
|
if (IdnToAsciiReal != NULL)
|
|
ret = IdnToAsciiReal(flags, str, len, buf, size);
|
|
else
|
|
diff --git a/src/win32/plugin.c b/src/win32/plugin.c
|
|
index 1a65521fca75..b5c336eb99ca 100644
|
|
--- a/src/win32/plugin.c
|
|
+++ b/src/win32/plugin.c
|
|
@@ -45,7 +45,8 @@ static BOOL WINAPI SetThreadErrorModeFallback(DWORD mode, DWORD *oldmode)
|
|
|
|
BOOL (WINAPI *SetThreadErrorModeReal)(DWORD, DWORD *);
|
|
|
|
- SetThreadErrorModeReal = GetProcAddress(h, "SetThreadErrorMode");
|
|
+ SetThreadErrorModeReal = (BOOL (WINAPI *)(DWORD, DWORD *))
|
|
+ GetProcAddress(h, "SetThreadErrorMode");
|
|
if (SetThreadErrorModeReal != NULL)
|
|
return SetThreadErrorModeReal(mode, oldmode);
|
|
|
|
--
|
|
GitLab
|
|
|