Commit Graph

286 Commits

Author SHA1 Message Date
Nikolay Sivov 41fe1ac058 mf/evr: Pass incoming samples to the mixer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:11:01 +01:00
Nikolay Sivov f64d046117 mf/copier: Move sample copier to its own file.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:10:58 +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
Biswapriyo Nath 8c51bcb8a1 mf/evr: Initialize variables which are checked conditionally.
Signed-off-by: Biswapriyo Nath <nathbappai@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-27 20:39:05 +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 0ca0b5a5ef mf/evr: Implement OnClockSetRate().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 20:26:04 +01:00
Nikolay Sivov 8680afcc06 mf/evr: Notify mixer and presenter on clock state changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-26 20:26:02 +01:00
Nikolay Sivov d063fff62e mf: Add default attributes for sample copier.
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 fe70e7beb5 mf/evr: Set the device manager for sample allocators.
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 b8d10aa46c mf/evr: Create sample allocators on demand.
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 f6a5a3d03c mf/sar: Use advertised type in IsMediaTypeSupported().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-21 20:30:59 +02:00
Nikolay Sivov 5a68001d69 mf/evr: Implement stream state change events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:01:04 +02:00
Nikolay Sivov 4e11368295 mf/evr: Implement NotifyPreroll().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:01:01 +02:00
Nikolay Sivov bd86e93416 mf/evr: Add per-stream lock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:00:59 +02:00
Nikolay Sivov bfeae85fdd mf/tests: Add a test for EVRConfig_ handling for already initialized presenter.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-16 22:00:57 +02:00
Nikolay Sivov 602a3085e3 mf/evr: Add default attributes on sink creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:19:21 +02:00
Nikolay Sivov f0c2b0d2fc mf/evr: Add attributes store for the sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-15 20:19:19 +02:00
Nikolay Sivov 421924ae0a mf/evr: Trigger media type negotiation through presenter for reference stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:54 +02:00
Nikolay Sivov 4bdaeaeb48 mf/evr: Do not use IMFVideoMediaType when setting mixer types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-13 18:18:52 +02:00
Nikolay Sivov e2bcf44080 mf/evr: Implement IsMediaTypeSupported().
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 430c179fe8 mf/evr: Set stream media type to the mixer.
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 7b54ce1e07 mf/evr: Implement GetMediaTypeByIndex().
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 6408aa3ab7 mf/evr: Implement GetMediaTypeCount().
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 30e5405aca mf/evr: Create sample allocator for each stream.
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 bcee4fbb94 mf/evr: Add IMFGetService stub for the streams.
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 29aecbef64 mf/evr: Provide device manager to the mixer.
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 bdbae2ff5a mf/evr: Partially implement InitializeRenderer().
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 6019f3c179 mf: Implement MFCreateVideoRenderer().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-05 20:52:02 +02:00
Nikolay Sivov 3d8d05dbeb mf/evr: Add GetMajorType() for the stream sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 22:30:42 +02:00
Nikolay Sivov 3625f76250 mf/evr: Add a IMFMediaTypeHandler stub for input video streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 22:30:40 +02:00
Nikolay Sivov 98fab7e0ac mf/evr: Create stream sinks for default mixer inputs.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 22:30:37 +02:00
Nikolay Sivov 9c898dcc19 mf/tests: Fix tests crashes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-08 22:30:33 +02:00
Nikolay Sivov 2ff7160cb7 mf/session: Add support for MR_VIDEO_RENDER_SERVICE service.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:43 +02:00
Nikolay Sivov 951240cb13 mf/evr: Add events support for video stream sinks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:41 +02:00
Nikolay Sivov 629882e161 mf/evr: Implement stream sinks management functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:39 +02:00
Nikolay Sivov c1c4856205 mf/evr: Actually use custom mixer when available.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-07 21:07:37 +02:00
Nikolay Sivov e308d81a61 mf/topoloader: Add a structure for iterative branch resolution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 20:06:38 +02:00
Nikolay Sivov 16d44b61d1 mf/topoloader: Clone source nodes as a first layer of resulting topology.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 20:06:38 +02:00
Nikolay Sivov 8e343024b5 mf/topoloader: Switch to public interface for initial topology validation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-15 20:06:38 +02:00
Nikolay Sivov 67a840dc5c mf/evr: Let mixer request necessary services.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:27 +02:00
Nikolay Sivov 34d4535292 mf/evr: Return mixer's transform for MR_VIDEO_MIXER_SERVICE requests.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:23 +02:00
Nikolay Sivov 03401edef8 mf/evr: Add support for LookupService() for MR_VIDEO_RENDER_SERVICE/IMediaEventSink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:20 +02:00
Nikolay Sivov 1fc9827602 mf/evr: Add IMFTopologyServiceLookup stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:18 +02:00
Nikolay Sivov 747c8a38c4 mf/evr: Implement setting/getting sink clock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:16 +02:00
Nikolay Sivov 65d3383be9 mf/evr: Do not set user context for activator object.
Window handle is passed as an attribute.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-09 17:41:12 +02:00
Nikolay Sivov 612f96ae27 mf/evr: Forward presenter service requests to the presenter.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 21:06:18 +02:00
Nikolay Sivov 58f7c7823b mf/evr: Forward mixer service requests to the mixer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 21:06:16 +02:00
Nikolay Sivov f557a5ee56 mf/evr: Add IMFGetService stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 21:06:06 +02:00
Nikolay Sivov 115ac28399 mf/evr: Add a stub for clock state sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-08 21:06:02 +02:00