On Tue Nov 21 14:32:55 2023 +0000, Rémi Bernon wrote:
> Is this needed by an application or is it just to pass the tests? In the
> latter case we can just keep a todo_wine. This flags fixup looks too arbitrary.
Needed by Wagamama. Without it, the sound channel gets stuck looping the same ~second over and over.
I completely agree it's ugly; feels to me like some kind of GStreamer or ffmpeg bug. If you can think of a better solution, do tell.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4450#note_53101
On Tue Nov 21 14:16:04 2023 +0000, Alfred Agrell wrote:
> Something in mf:transform test_wma_decoder() needs it.
> But unless we can find an actual WMA file that does that, better fix it
> in the test instead. Fixed.
I suspect this is actually related to the tests using WMAUDIO2 (aka WMAudioV8), which, if I believe the headers files, where WMAUDIO_BITS_PER_SAMPLE is used, only supports 16bps. The bps is then automatically set and the media type doesn't need one.
Also from the headers, I suspect WMAUDIO3 may support variable bps which maybe would require changes here and in other places where we use a fixed value. All of which may require more tests to be sure. Which probably be added later.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4450#note_53090
It looks like msvcp doesn't export anything for the std::bad_function_call exception construction and if std::bad_function_call is constructed directly from the app the corresponding class data is generated in the application binary.
I am attaching an ad-hoc test program I used to test it (using MSVC 2022 community edition).
[msvcp_except.cpp](/uploads/558f0911366525d05af4ac69552c4aae/msvcp_except.cpp)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/4446
This serie:
- adds a couple of msvcrt env tests (mainly env block inheritance)
- introduces env tests for ucrtbase
- reimplement most of the env related functions to mimic native
behavior (basically when env is modified, native crt uses
a per-variable entry allocation block (instead of having
pointers inside a single chunk of memory).
This fixes programs which keep a pointer on returned getenv()
string and expect that pointer content is not modified when
other variables in env are modified.
@piotr: from previous version
- I dropped the synchronization of \_environ and \_wenviron
hence requiring the duplication of most of the code in
ansi/unicode versions
- I also tested the changes with unicode crt startup code
(you can find in [1] this MR extended with this test code
but I don't think we want to push it upstream)
- there are some init code changes because of ucrtbase tests
and unicode crt startup tests
[1] https://gitlab.winehq.org/epo/wine/-/tree/mr-crt-env-full?ref_type=heads
--
v5: msvcrt: Fix ucrtbase environment initialization.
msvcrt: Allocate environment variables in separate allocation chunks.
msvcrt: Lazily initialize ___winitenv.
msvcrt: Factor out wenv_get_index helper.
msvcrt: Factor out env_get_index helper.
ucrtbase/tests: Introduce environment tests.
msvcrt/tests: Test passing environment in child process.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4377
This allows initializing locale from Mac locale identifiers like
'zh-Hans-US'. The current implementation recognizes it as 'zh-US'
which isn't a valid locale identifier for Windows.
This patch will try again with the 'lang-script' identifier after
get_win_locale() fails with the 'lang-region' identifier.
--
v3: ntdll/unix: Support to initialize locale from 'lang-script' format language identifier.
ntdll/unix: Use different variable names for Mac locales.
https://gitlab.winehq.org/wine/wine/-/merge_requests/4357