fix docker build: missing wget and C++ includes for GCC16
Continuous Integration / Build (push) Failing after 1m0s
Continuous Integration / Build (push) Failing after 1m0s
- add wget to deps Dockerfile for dsdmo.dll download - include <mutex> in wmischook.cpp - include <codecvt> and load SHCreateMemStream dynamically in sndbhook.cpp for XP compat
This commit is contained in:
+1
@@ -7,6 +7,7 @@ RUN pacman --noconfirm -Syu git \
|
||||
ninja \
|
||||
cmake \
|
||||
unzip \
|
||||
wget \
|
||||
mingw-w64-crt \
|
||||
mingw-w64-winpthreads \
|
||||
mingw-w64-gcc \
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "util/libutils.h"
|
||||
#include "util/utils.h"
|
||||
#include "avs/core.h"
|
||||
#include <codecvt>
|
||||
#include <cstring>
|
||||
|
||||
|
||||
@@ -85,10 +86,12 @@ typedef HRESULT (*MFCreateMFByteStreamOnStream_t)(IStream *, IMFByteStream **);
|
||||
typedef HRESULT (*MFCreateSourceReaderFromByteStream_t)(IMFByteStream *, IMFAttributes *, IMFSourceReader **);
|
||||
typedef HRESULT (*MFStartup_t)(ULONG, DWORD);
|
||||
typedef HRESULT (*MFShutdown_t)();
|
||||
typedef IStream *(*SHCreateMemStream_t)(const BYTE *, UINT);
|
||||
MFCreateMFByteStreamOnStream_t MFCreateMFByteStreamOnStream;
|
||||
MFCreateSourceReaderFromByteStream_t MFCreateSourceReaderFromByteStream;
|
||||
MFStartup_t MFStartup;
|
||||
MFShutdown_t MFShutdown;
|
||||
SHCreateMemStream_t SHCreateMemStream;
|
||||
struct wav_hdr
|
||||
{
|
||||
char sig_riff[4] = {'R', 'I', 'F', 'F'};
|
||||
@@ -229,13 +232,15 @@ bool init()
|
||||
HMODULE mf_ = libutils::try_library("mf.dll");
|
||||
HMODULE mfreadwrite_ = libutils::try_library("mfreadwrite.dll");
|
||||
HMODULE mfplat_ = libutils::try_library("mfplat.dll");
|
||||
if (!mf_ || !mfreadwrite_ || !mfplat_) return false;
|
||||
HMODULE shlwapi_ = libutils::try_library("shlwapi.dll");
|
||||
if (!mf_ || !mfreadwrite_ || !mfplat_ || !shlwapi_) return false;
|
||||
|
||||
// Required by linker
|
||||
MFCreateMFByteStreamOnStream = (MFCreateMFByteStreamOnStream_t) GetProcAddress(mfplat_, "MFCreateMFByteStreamOnStream");
|
||||
MFStartup = (MFStartup_t) GetProcAddress(mfplat_, "MFStartup");
|
||||
MFShutdown = (MFShutdown_t) GetProcAddress(mfplat_, "MFShutdown");
|
||||
MFCreateSourceReaderFromByteStream = (MFCreateSourceReaderFromByteStream_t) GetProcAddress(mfreadwrite_, "MFCreateSourceReaderFromByteStream");
|
||||
SHCreateMemStream = (SHCreateMemStream_t) GetProcAddress(shlwapi_, "SHCreateMemStream");
|
||||
|
||||
if (!MFCreateMFByteStreamOnStream || !MFCreateSourceReaderFromByteStream || !MFStartup || !MFShutdown || FAILED(MFStartup(MF_VERSION, MFSTARTUP_FULL)))
|
||||
return false;
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
#include "util/libutils.h"
|
||||
#include "util/utils.h"
|
||||
#include <mmsystem.h>
|
||||
#include <mutex>
|
||||
|
||||
|
||||
namespace hooks::wmisc::msacm
|
||||
|
||||
Reference in New Issue
Block a user