Commit Graph

131 Commits

Author SHA1 Message Date
Nikolay Sivov 30727decff evr/presenter: Set mixer output type on type negotiation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:52 +01:00
Nikolay Sivov 13aa1e12e0 evr: Add MFCreateDXSurfaceBuffer() forward.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:46 +01:00
Nikolay Sivov 959279413e evr/allocator: Use different buffer implementation for surface buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:42 +01:00
Nikolay Sivov 7aad298f71 evr/tests: Add sample allocator test with surface-backed buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-29 22:23:08 +01:00
Nikolay Sivov 26d5d384f1 evr: Implement sample allocator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:25:13 +01:00
Nikolay Sivov 21355680e5 evr/mixer: Add IMFClockStateSink stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 20:26:00 +01:00
Nikolay Sivov b8507acf53 evr/mixer: Request more sample on successful ProcessOutput().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Nikolay Sivov 2d87981637 evr/mixer: Send sample requests when switching to streaming mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-23 20:16:53 +02:00
Nikolay Sivov a6512b32ef evr/sample: Implement SetDirectXManager().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov 529eb28488 evr/presenter: Add IMFVideoPositionMapper stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov 8c4723c5bd evr/mixer: Only accept single output buffer in ProcessOutput().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov 775daad7ef evr/mixer: Fill output surfaces when not streaming.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov d63ff3403b evr/mixer: Implement GetOutputStatus().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov 5496b88917 evr/mixer: Implement GetInputStatus().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-22 22:02:02 +02:00
Nikolay Sivov 14003b00f5 evr/mixer: Maintain streaming state flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:14 +02:00
Nikolay Sivov e2a4b8a563 evr/mixer: Drop input samples on flush.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:13 +02:00
Nikolay Sivov c1e57ea291 evr/mixer: Ignore draining command.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:11 +02:00
Nikolay Sivov 70399c4e4a evr/mixer: Create dxva processor when output type is set.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:09 +02:00
Nikolay Sivov 35663e6a7f evr/mixer: Keep dxva device handle around.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 10:51:07 +02:00
Nikolay Sivov ab2a0d7f63 evr/mixer: Map render target type to video processor guid that supports it.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:19 +02:00
Nikolay Sivov 60bf1b2548 evr/mixer: Keep one input sample per stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-19 22:18:17 +02:00
Nikolay Sivov d91a82ac8d evr/tests: Add a mixer tests for clearing output in idle state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:19:23 +02:00
Nikolay Sivov 0ff8a57257 evr/sample: Implement GetService() for surface buffers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov 208520f8d9 evr/sample: Add a surface buffer on sample creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov 1cb37f7e80 evr/sample: Implement IMFDesiredSample.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov db8f859114 evr: Partially implement MFCreateVideoSampleFromSurface().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov 5abdd39838 evr: Add already implemented functions from mfplat.dll.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-14 21:33:17 +02:00
Nikolay Sivov a1dc382812 evr/tests: Use wide string literals.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:59 +02:00
Nikolay Sivov d6e5fa7bd3 evr/mixer: Keep original media type instances for inputs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:57 +02:00
Nikolay Sivov 25872a5172 evr/tests: Add a test for MF_SA_REQUIRED_SAMPLE_COUNT.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:56 +02:00
Sven Baars 109fab2a55 evr/tests: Fix a test failure on Windows 7.
Signed-off-by: Sven Baars <sbaars@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 11:30:01 +02:00
Nikolay Sivov b8e003c0e0 evr/mixer: Implement SetOutputType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:17 +02:00
Nikolay Sivov 11594f563f evr/mixer: Use regular media type interface for the output stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:15 +02:00
Nikolay Sivov 7ab646ad48 evr/mixer: Use regular media type interface for input streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:11 +02:00
Nikolay Sivov 14d2b04478 evr/mixer: Add SetOutputBounds().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-12 18:44:07 +02:00
Nikolay Sivov 24c9d77cee evr/mixer: Add support for MFT_SET_TYPE_TEST_ONLY for inputs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-09 16:21:33 +02:00
Nikolay Sivov d136c7554c evr/allocator: Implement GetFreeSampleCount().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 19:45:35 +02:00
Nikolay Sivov 4fa62d40dc evr/allocator: Implement SetCallback().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-08 19:45:35 +02:00
Nikolay Sivov 6163b3331f evr/presenter: Initialize aspect ratio mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 11:24:21 +02:00
Nikolay Sivov 59f3337a39 evr/presenter: Update cached native size on format negotiation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 11:24:19 +02:00
Nikolay Sivov 95dcc559fc evr/presenter: Request original reference frame size when attaching the mixer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 11:24:17 +02:00
Nikolay Sivov d2beff2623 evr/tests: Add some tests for presenter's GetNativeVideoSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-07 11:24:14 +02:00
Nikolay Sivov 9cb5077096 evr/mixer: Keep per-stream zorder configuration.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Nikolay Sivov 0b8b00216f evr/mixer: Keep per-stream output rectangles.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Nikolay Sivov adc4dd674a evr/presenter: Validate passed handle on SetVideoWindow().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Nikolay Sivov c01a9bae61 evr/presenter: Check for null argument in GetVideoWindow().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Nikolay Sivov 9b1bd73188 evr/presenter: Return default flags for GetRenderingPrefs().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-06 21:47:56 +02:00
Nikolay Sivov 94b2db85b6 evr/presenter: Set VIDEO_ZOOM_RECT on SetVideoPosition().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:52:16 +02:00
Nikolay Sivov f859a4d048 evr/presenter: Check video window in SetVideoPosition().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:52:12 +02:00
Nikolay Sivov a419b3eb79 evr/presenter: Better validate input rectangles in SetVideoPosition().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:52:06 +02:00