Commit Graph

187 Commits

Author SHA1 Message Date
Derek Lesho 7dff5809ef mfplat: Copy all image planes in buffer copies.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-07 21:25:05 +02:00
Giovanni Mascellani 8a506ea9b2 winegstreamer: Improve reported supported rates values for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-04 20:00:30 +02:00
Nikolay Sivov 31f4ad064e mfplat: Implement MFInitVideoFormat_RGB().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 17:54:12 +02:00
Nikolay Sivov def07b3f69 mfplat: Implement shared device manager API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:21:27 +02:00
Nikolay Sivov 3e3490be39 mfplat: Add MFllMulDiv().
Implementation is based on similar gstreamer utility code,
adjusted for signed arguments, and with platform optimizations removed.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-03 23:21:27 +02:00
Francois Gouget 730b30aacf mfplat/tests: Fix an event queue refcounting test on Vista.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-23 20:02:07 +02:00
Connor McAdams 7dc454be85 mfplat: Add MFCreateWaveFormatExFromMFMediaType AudioFormat_Float test.
Add test for MFAudioFormat_Float subtype being passed to
MFCreateWaveFormatExFromMFMediaType.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-21 21:00:33 +02:00
Michael Stefaniuc 2ef900eb81 mfplat/tests: Test the correct variable.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-20 21:07:09 +02:00
Nikolay Sivov ce37290a5a mfplat: Release queue subscriber on queue release.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-14 17:04:35 +02:00
Connor McAdams 55228c2b2c mfplat: Add corresponding 'IYUV' type alongside 'I420'.
Add references the 'IYUV' mediatype wherever 'I420' is referenced, as
they are identical.

Signed-off-by: Connor McAdams <cmcadams@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-13 19:20:46 +02:00
Nikolay Sivov 8511670b37 mfplat/tests: Add some more tests for IsCompressedFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Nikolay Sivov 0d383fe182 mfplat: Add Lock()/Unlock() for d3d11 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-30 12:26:37 +02:00
Giovanni Mascellani 767c200f47 winegstreamer: Implement a stub IMFRateControl for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Giovanni Mascellani 6e4c7d4dba winegstreamer: Implement a stub IMFRateSupport for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Giovanni Mascellani 0a0bf3cf21 winegstreamer: Implement a stub IMFGetService for the media source.
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Nikolay Sivov 49886f0312 mfplat/tests: Add media source rate service tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-26 16:48:30 +01:00
Nikolay Sivov d1d1e3f56f rtworkq: Partially implement shared queues.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 17:56:55 +01:00
Nikolay Sivov 01059d5946 mfplat: Implement GetScanline0AndPitch() for d3d11 buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov 9932a1943b mfplat: Implement Lock2D()/Unlock2D() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-25 12:48:48 +01:00
Nikolay Sivov 31b88c38b0 mfplat: Implement GetContiguousLength() for d3d9 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov 264732a8c6 mfplat: Implement GetContiguousLength() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov dae643d2ed mfplat: Fix SetCurrentLength() for d3d11 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov ff056c3f86 mfplat: Fix SetCurrentLength() for d3d9 buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov e66bfc8351 mfplat/tests: Add a test for d3d11 texture buffer updates.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-24 20:43:49 +01:00
Nikolay Sivov 31202993a0 mfplat/allocator: Handle bind flags and usage attributes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-15 21:11:28 +01:00
Nikolay Sivov 14f6c09508 mfplat/allocator: Improve initialization handling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-10 20:04:46 +01:00
Nikolay Sivov 9ec297e283 mfplat/tests: Fix a crash on Vista.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 15:41:02 +01:00
Nikolay Sivov d2a30424ef mfplat/allocator: Add support for MF_SA_BUFFERS_PER_SAMPLE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:47 +01:00
Nikolay Sivov d100d92f93 mfplat/allocator: Keep a reference to initialization attributes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:45 +01:00
Nikolay Sivov 467a96e9e5 mfplat/tests: Add some tests for sample allocator using D3D9 device.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:41 +01:00
Nikolay Sivov 0e7836c0ac mfplat/allocator: Add initial implementation of sample allocator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:38 +01:00
Nikolay Sivov 3bf4896669 mfplat: Add a stub implementation of DXGI surface buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:33 +01:00
Nikolay Sivov f920f633d7 mfplat/tests: Add a workaround for test failures on Windows 7 VMs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:28 +01:00
Nikolay Sivov b9dd3272ff mfplat/tests: Switch to a different texture format to enable more tests on older versions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:22 +01:00
Nikolay Sivov 5668c1ce5f mfplat: Added MFMapDX9FormatToDXGIFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-03 21:02:18 +01:00
Nikolay Sivov 5ae005a3fa mfplat/tests: Test texture parameters used by sample allocator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-02 21:09:35 +01:00
Nikolay Sivov be5b34b1ee mfplat/tests: Add some tests for D3D11-aware sample allocator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-02 21:09:35 +01:00
Nikolay Sivov f72f1ff952 mfplat/tests: Get source events in async mode.
Fixes test crashes on Windows 7, that happen on synchronous GetEvent().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-08 17:55:01 +01:00
Nikolay Sivov 940adfdd56 mfplat/mediatype: Do not add user data when converting from WAVE_FORMAT_EXTENSIBLE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-12-01 13:30:41 +01:00
Nikolay Sivov 3a9ecc5878 mfplat/mediatype: Store extra format data as MF_MT_USER_DATA when initializing from WAVEFORMATEX.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-30 19:01:56 +01:00
Nikolay Sivov bf7e6d1773 mfplat/tests: Add a helper to check for supported interfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:40 +01:00
Nikolay Sivov 37aa12e7c8 mfplat/tests: Remove a couple of failing tests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 20:22:33 +01:00
Nikolay Sivov af37f3b085 mfplat: Implement MFMapDXGIFormatToDX9Format().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:31 +01:00
Nikolay Sivov abb8852077 mfplat: Implement MFFrameRateToAverageTimePerFrame().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Nikolay Sivov 74b10b2a4c mfplat: Consider first type entry when returning major type for stream descriptors.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Derek Lesho 03eaa2cc93 winegstreamer: Implement IMFMediaStream::RequestSample.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 22:14:11 +01:00
Derek Lesho 12f1afbffe winegstreamer: Implement IMFMediaSource::Start.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 22:14:11 +01:00
Nikolay Sivov 23a656a083 mfplat: Implement MFCreateDXSurfaceBuffer().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:35 +01:00
Derek Lesho e2893c3452 winegstreamer: Implement IMFMediaSource::CreatePresentationDescriptor.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-28 20:36:32 +01:00
Nikolay Sivov 77d1701b99 mfplat: Add IMFGetService stub for 2D memory buffer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:25:11 +01:00