On Mon Mar 3 06:33:06 2025 +0000, Dmitry Timoshkov wrote:
> The tests don't pass with existing code.
It looks like you are right, new tests actually pass with current implementation. Although the patch makes support for WICBitmapTransformRotate270 more explicit I'm not opposed to leave the code intact. I'm open to suggestions.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7459#note_96507
On Mon Mar 3 06:33:06 2025 +0000, Elizabeth Figura wrote:
> Wait, isn't this already implemented? WICBitmapTransformRotate270 is the
> bitwise OR of 90 and 180, and the code seems to take that into account,
> am I missing something?
The tests don't pass with existing code.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7459#note_96498
This fixes failure to play the prologue video in Planet of the Apes: Last Frontier, which unpauses by calling Start() with a location. The exact state leading to this issue does not occur in the Start() tests, and it's not clear how to reproduce it reliably.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7466
On Sat Mar 1 21:59:13 2025 +0000, Brendan McGrath wrote:
> I took a look at the linux-32 results, but I missed the mf failures (I
> thought they were all ddraw). Why would linux-32 fail but not linux-64?
> Anyway, it's the same test failing twice:
> ```
> $ xmllint --xpath 'testsuites/testsuite/testcase[failure and
> @classname="mf:transform"]/@name' winetest.xml
> name="mf:transform transform.c:2587 Test failed: aacdec:
> "MF_MT_USER_DATA": SetInputType returned 0."
> name="mf:transform transform.c:2587 Test failed: aacdec:
> "MF_MT_USER_DATA": SetInputType returned 0."
> ```
> The test checks that a call to `SetInputType` on the AAC decoder returns
> an error when `MF_MT_USER_DATA` is missing. It does so by relying on the
> return value of `MFCreateWaveFormatExFromMFMediaType`. So it's dependent
> on what was the broken behavior. I suspect it should also be checking
> `cbSize`. I'll add tests to confirm as much and then fix.
> Note, I have confirmed that we now have the correct behavior for
> `MFCreateWaveFormatExFromMFMediaType` by adding (locally) the following
> two tests:
> ```
> @@ -5958,6 +5958,8 @@ static void test_MFCreateWaveFormatExFromMFMediaType(void)
> { &MFAudioFormat_Float, WAVE_FORMAT_IEEE_FLOAT,
> sizeof(WAVEFORMATEX), 0, },
> { &MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3,
> sizeof(WAVEFORMATEX), 0, },
> { &DUMMY_GUID3, WAVE_FORMAT_EXTENSIBLE,
> sizeof(WAVEFORMATEXTENSIBLE), 22, },
> + { &MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC,
> sizeof(WAVEFORMATEX), 0, },
> + { &MFAudioFormat_RAW_AAC, WAVE_FORMAT_RAW_AAC1,
> sizeof(WAVEFORMATEX), 0, },
> ```
> Test bot passes:
> https://testbot.winehq.org/JobDetails.pl?Key=151559
> Well Windows did, Debian crashed.
I've raised MR !7465 to fix the failing test. I also add new tests that seem to indicate we are still missing some validation in the aac decoder around `MF_MT_USER_DATA`. For example, in one of the tests, I send a value of 44.1KHz in `MF_MT_AUDIO_SAMPLES_PER_SECOND`, but a value of 48KHz in `MF_MT_USER_DATA`. Windows returns `MF_E_INVALIDMEDIATYPE`, but we return `S_OK`. So this test is currently marked as todo.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7417#note_96490
Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v2: windowscodecs: Implement GetPreferredVendorGUID().
windowscodecs/metadata: Implement GetClassID().
windowscodecs/tests: Add some tests for metadata handler GetClassID().
windowscodecs/metadata: Replicate original stream position when creating writer instances from readers.
windowscodecs/metadata: Restore original stream position on GetStream().
windowscodecs/tests: Add some tests for stream position handling when nested readers are used.
windowscodecs: Implement CreateQueryWriterFromReader().
windowscodecs/metadata: Do not decorate 'wstr' items with a type name in returned queries.
windowscodecs/tests: Add some more tests for query enumeration.
windowscodecs: Implement query strings enumerator.
https://gitlab.winehq.org/wine/wine/-/merge_requests/7407