Commit Graph

162 Commits

Author SHA1 Message Date
Nikolay Sivov c06e7ba729 evr/presenter: Add aspect ratio preserving scaling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 20:20:33 +01:00
Nikolay Sivov 1f1842e027 evr/presenter: Set frame size and aperture attributes for mixer output type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-24 20:20:31 +01:00
Nikolay Sivov 22d77e4327 evr/tests: Add some tests for presenter quality control.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-23 21:05:05 +01:00
Nikolay Sivov 1deea8e1fe evr/tests: Relax allocator initialization test.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-18 20:28:05 +01:00
Nikolay Sivov 4b87269d00 evr/presenter: Implement sample presenting functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:49 +01:00
Nikolay Sivov 22d934c078 evr/tests: Presenter should support IMFQualityAdviseLimits.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:47 +01:00
Nikolay Sivov 81ba626545 evr/presenter: Add IDirect3DDeviceManager9 as a supported interface.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:45 +01:00
Nikolay Sivov fcb08263a5 evr/presenter: Fix error code for unsupported services.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:43 +01:00
Nikolay Sivov 315cf3b60f evr/mixer: Improve GetService() handling of unsupported interfaces/services.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:41 +01:00
Nikolay Sivov 8e82c72083 evr/mixer: Set timestamp and duration for output samples.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-17 17:19:39 +01:00
Nikolay Sivov 26aae271bb evr/presenter: Expose all interfaces for MR_VIDEO_RENDER_SERVICE.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:52:10 +01:00
Nikolay Sivov c7ce8d5a52 evr/tests: Add more tests for supported service interfaces.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:52:08 +01:00
Nikolay Sivov 6ae872e855 evr/mixer: Fix output filling behaviour regarding sample properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:52:02 +01:00
Nikolay Sivov 35d7dc9040 evr/sample: Reset attributes, timestamps, and flags on ::Clear().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-16 17:51:57 +01:00
Nikolay Sivov 8b9b16151d evr/mixer: Fix method function name for consistency.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:44 +01:00
Nikolay Sivov b6c01ee2f8 evr/presenter: Add IMFQualityAdvise stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:39 +01:00
Nikolay Sivov 02d982de38 evr/presenter: Create a swapchain for given output window.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:37 +01:00
Nikolay Sivov e19938f9db evr/presenter: Add IQualProp stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-13 21:55:35 +01:00
Nikolay Sivov 0066be78ae evr/allocator: Fix reference counting for returned samples.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 13:58:22 +01:00
Nikolay Sivov 2ef767dcee evr/allocator: Fix released sample pointer check.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-12 13:58:20 +01:00
Nikolay Sivov 2192d0146a evr/allocator: Call user callback when sample is returned to the pool.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov 03a10db214 evr/presenter: Add sample allocator notification callback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov 38d75c4294 evr/presenter: Notify renderer host about mixer latency.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov e4ec280ec7 evr/presenter: Add a helpe for input processing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov 603b00fe55 evr/presenter: Create sample allocator on object creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-10 17:19:44 +01:00
Nikolay Sivov c528ef47eb evr/presenter: Fix error handling on object creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:38:06 +01:00
Nikolay Sivov 409392dfb7 evr/mixer: Add partial implementation of sample processing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:38:06 +01:00
Nikolay Sivov 292b54f3ae evr/mixer: Reuse full set of type attributes for output types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:28:02 +01:00
Nikolay Sivov 2865d4216e evr/sample: Use separate thread for tracking notifications.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-06 18:20:32 +01:00
Nikolay Sivov 813596f64c evr/presenter: Implement GetCurrentMediaType().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 20:46:35 +01:00
Nikolay Sivov bf8a9613c5 evr/presenter: Create dedicated thread to handle presentation time.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 20:46:33 +01:00
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