[PATCH 0/2] MR2027: Add some media codec dll stubs
Gungrave G.O.R.E checks for the presence of these dlls before doing anything with MF. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027
From: Paul Gofman <gofmanp(a)gmail.com> --- configure.ac | 1 + dlls/msmpeg2vdec/Makefile.in | 1 + dlls/msmpeg2vdec/msmpeg2vdec.spec | 0 3 files changed, 2 insertions(+) create mode 100644 dlls/msmpeg2vdec/Makefile.in create mode 100644 dlls/msmpeg2vdec/msmpeg2vdec.spec diff --git a/configure.ac b/configure.ac index c7217274b80..39ad3c89cc6 100644 --- a/configure.ac +++ b/configure.ac @@ -2765,6 +2765,7 @@ WINE_CONFIG_MAKEFILE(dlls/msimtf) WINE_CONFIG_MAKEFILE(dlls/msisip) WINE_CONFIG_MAKEFILE(dlls/msisys.ocx) WINE_CONFIG_MAKEFILE(dlls/msls31) +WINE_CONFIG_MAKEFILE(dlls/msmpeg2vdec) WINE_CONFIG_MAKEFILE(dlls/msnet32) WINE_CONFIG_MAKEFILE(dlls/mspatcha) WINE_CONFIG_MAKEFILE(dlls/mspatcha/tests) diff --git a/dlls/msmpeg2vdec/Makefile.in b/dlls/msmpeg2vdec/Makefile.in new file mode 100644 index 00000000000..d2dbf5adda0 --- /dev/null +++ b/dlls/msmpeg2vdec/Makefile.in @@ -0,0 +1 @@ +MODULE = msmpeg2vdec.dll diff --git a/dlls/msmpeg2vdec/msmpeg2vdec.spec b/dlls/msmpeg2vdec/msmpeg2vdec.spec new file mode 100644 index 00000000000..e69de29bb2d -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2027
From: Paul Gofman <gofmanp(a)gmail.com> --- configure.ac | 1 + dlls/msauddecmft/Makefile.in | 1 + dlls/msauddecmft/msauddecmft.spec | 0 3 files changed, 2 insertions(+) create mode 100644 dlls/msauddecmft/Makefile.in create mode 100644 dlls/msauddecmft/msauddecmft.spec diff --git a/configure.ac b/configure.ac index 39ad3c89cc6..14a41c84739 100644 --- a/configure.ac +++ b/configure.ac @@ -2732,6 +2732,7 @@ WINE_CONFIG_MAKEFILE(dlls/msado15/tests) WINE_CONFIG_MAKEFILE(dlls/msadp32.acm) WINE_CONFIG_MAKEFILE(dlls/msasn1) WINE_CONFIG_MAKEFILE(dlls/msasn1/tests) +WINE_CONFIG_MAKEFILE(dlls/msauddecmft) WINE_CONFIG_MAKEFILE(dlls/mscat32) WINE_CONFIG_MAKEFILE(dlls/mscms) WINE_CONFIG_MAKEFILE(dlls/mscms/tests) diff --git a/dlls/msauddecmft/Makefile.in b/dlls/msauddecmft/Makefile.in new file mode 100644 index 00000000000..abce4d1cfe4 --- /dev/null +++ b/dlls/msauddecmft/Makefile.in @@ -0,0 +1 @@ +MODULE = msauddecmft.dll diff --git a/dlls/msauddecmft/msauddecmft.spec b/dlls/msauddecmft/msauddecmft.spec new file mode 100644 index 00000000000..e69de29bb2d -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/2027
Should we build these with -Wb,--data-only? (Or are they loaded with LoadLibrary or something?) -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21931
They are loaded with LoadLibrary(). The game doesn't do anything with them, just LoadLibrary and FreeLibrary, but needs that to succeed to proceed further. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21935
Also, as I understand, these libraries contain actual codecs on Windows, so it can happen that we might need to move actual implementation to them in the future. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21936
maybe put a @stub for all the exports? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21944
I can't easily guess a scenario how that will make anything work which won't work without those stubs. I think a hypothetical case if some other game will check the presence more thoroughly and will also GetProcAddress but won't call the functions is unlikely. Adding those stubs is rather a bit more likely to break something which will try to use them. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21945
On Wed Jan 25 23:06:49 2023 +0000, Paul Gofman wrote:
I can't easily guess a scenario how that will make anything work which won't work without those stubs. I think a hypothetical case if some other game will check the presence more thoroughly and will also GetProcAddress but won't call the functions is unlikely. Adding those stubs is rather a bit more likely to break something which will try to use them. makes sense I guess that's because this library doesn't have an api or anything (so applications cannot call functions without LoadLibrary + GetProcAddress, the latter would return null with no @stub, which applications would ideally check for, before using it)
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21946
On Wed Jan 25 23:07:26 2023 +0000, Etaash Mathamsetty wrote:
makes sense I guess that's because this library doesn't have an api or anything (so applications cannot call functions without LoadLibrary + GetProcAddress, the latter would return null with no @stub, which applications would ideally check for, before using it) Normally we add stubs for the new dlls we add, but not sure, this case seems somewhat special to me.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21947
On Thu Jan 26 06:42:36 2023 +0000, Paul Gofman wrote:
Also, as I understand, these libraries contain actual codecs on Windows, so it can happen that we might need to move actual implementation to them in the future. FWIW, Chromium directly uses msmpeg2vdec for hardware acceleration so an implementation would be helpful in reducing CPU load.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21959
Normally we add stubs for the new dlls we add, but not sure, this case seems somewhat special to me.
I don't see why it's special, new dlls should have a list of stub entry points, at least for documentation purposes. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/2027#note_21962
participants (6)
-
Alexandre Julliard (@julliard) -
Etaash Mathamsetty (@etaash.mathamsetty) -
Mohamad Al-Jaf (@maljaf) -
Paul Gofman -
Paul Gofman (@gofman) -
Zebediah Figura (@zfigura)