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 \
|
ninja \
|
||||||
cmake \
|
cmake \
|
||||||
unzip \
|
unzip \
|
||||||
|
wget \
|
||||||
mingw-w64-crt \
|
mingw-w64-crt \
|
||||||
mingw-w64-winpthreads \
|
mingw-w64-winpthreads \
|
||||||
mingw-w64-gcc \
|
mingw-w64-gcc \
|
||||||
|
|||||||
@@ -7,6 +7,7 @@
|
|||||||
#include "util/libutils.h"
|
#include "util/libutils.h"
|
||||||
#include "util/utils.h"
|
#include "util/utils.h"
|
||||||
#include "avs/core.h"
|
#include "avs/core.h"
|
||||||
|
#include <codecvt>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
||||||
|
|
||||||
@@ -85,10 +86,12 @@ typedef HRESULT (*MFCreateMFByteStreamOnStream_t)(IStream *, IMFByteStream **);
|
|||||||
typedef HRESULT (*MFCreateSourceReaderFromByteStream_t)(IMFByteStream *, IMFAttributes *, IMFSourceReader **);
|
typedef HRESULT (*MFCreateSourceReaderFromByteStream_t)(IMFByteStream *, IMFAttributes *, IMFSourceReader **);
|
||||||
typedef HRESULT (*MFStartup_t)(ULONG, DWORD);
|
typedef HRESULT (*MFStartup_t)(ULONG, DWORD);
|
||||||
typedef HRESULT (*MFShutdown_t)();
|
typedef HRESULT (*MFShutdown_t)();
|
||||||
|
typedef IStream *(*SHCreateMemStream_t)(const BYTE *, UINT);
|
||||||
MFCreateMFByteStreamOnStream_t MFCreateMFByteStreamOnStream;
|
MFCreateMFByteStreamOnStream_t MFCreateMFByteStreamOnStream;
|
||||||
MFCreateSourceReaderFromByteStream_t MFCreateSourceReaderFromByteStream;
|
MFCreateSourceReaderFromByteStream_t MFCreateSourceReaderFromByteStream;
|
||||||
MFStartup_t MFStartup;
|
MFStartup_t MFStartup;
|
||||||
MFShutdown_t MFShutdown;
|
MFShutdown_t MFShutdown;
|
||||||
|
SHCreateMemStream_t SHCreateMemStream;
|
||||||
struct wav_hdr
|
struct wav_hdr
|
||||||
{
|
{
|
||||||
char sig_riff[4] = {'R', 'I', 'F', 'F'};
|
char sig_riff[4] = {'R', 'I', 'F', 'F'};
|
||||||
@@ -229,13 +232,15 @@ bool init()
|
|||||||
HMODULE mf_ = libutils::try_library("mf.dll");
|
HMODULE mf_ = libutils::try_library("mf.dll");
|
||||||
HMODULE mfreadwrite_ = libutils::try_library("mfreadwrite.dll");
|
HMODULE mfreadwrite_ = libutils::try_library("mfreadwrite.dll");
|
||||||
HMODULE mfplat_ = libutils::try_library("mfplat.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
|
// Required by linker
|
||||||
MFCreateMFByteStreamOnStream = (MFCreateMFByteStreamOnStream_t) GetProcAddress(mfplat_, "MFCreateMFByteStreamOnStream");
|
MFCreateMFByteStreamOnStream = (MFCreateMFByteStreamOnStream_t) GetProcAddress(mfplat_, "MFCreateMFByteStreamOnStream");
|
||||||
MFStartup = (MFStartup_t) GetProcAddress(mfplat_, "MFStartup");
|
MFStartup = (MFStartup_t) GetProcAddress(mfplat_, "MFStartup");
|
||||||
MFShutdown = (MFShutdown_t) GetProcAddress(mfplat_, "MFShutdown");
|
MFShutdown = (MFShutdown_t) GetProcAddress(mfplat_, "MFShutdown");
|
||||||
MFCreateSourceReaderFromByteStream = (MFCreateSourceReaderFromByteStream_t) GetProcAddress(mfreadwrite_, "MFCreateSourceReaderFromByteStream");
|
MFCreateSourceReaderFromByteStream = (MFCreateSourceReaderFromByteStream_t) GetProcAddress(mfreadwrite_, "MFCreateSourceReaderFromByteStream");
|
||||||
|
SHCreateMemStream = (SHCreateMemStream_t) GetProcAddress(shlwapi_, "SHCreateMemStream");
|
||||||
|
|
||||||
if (!MFCreateMFByteStreamOnStream || !MFCreateSourceReaderFromByteStream || !MFStartup || !MFShutdown || FAILED(MFStartup(MF_VERSION, MFSTARTUP_FULL)))
|
if (!MFCreateMFByteStreamOnStream || !MFCreateSourceReaderFromByteStream || !MFStartup || !MFShutdown || FAILED(MFStartup(MF_VERSION, MFSTARTUP_FULL)))
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
#include "util/libutils.h"
|
#include "util/libutils.h"
|
||||||
#include "util/utils.h"
|
#include "util/utils.h"
|
||||||
#include <mmsystem.h>
|
#include <mmsystem.h>
|
||||||
|
#include <mutex>
|
||||||
|
|
||||||
|
|
||||||
namespace hooks::wmisc::msacm
|
namespace hooks::wmisc::msacm
|
||||||
|
|||||||
Reference in New Issue
Block a user