Commit Graph

393 Commits

Author SHA1 Message Date
Nikolay Sivov fd22009339 mf/session: Notify quality manager when setting new topology.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Nikolay Sivov 61ab5b2475 mf/session: Provide quality manager with presentation clock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Nikolay Sivov d2ce23f461 mf/evr: Handle user events from the presenter.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Nikolay Sivov d493ba166e mf/evr: Handle sample requests from the mixer.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-11 21:14:58 +01:00
Nikolay Sivov 8c9988d8d4 mf/evr: Accept samples when prerolling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:28:00 +01:00
Nikolay Sivov e6cc5c067b mf/tests: Add a test for copier buffer handling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-09 21:27:58 +01:00
Nikolay Sivov 3641c80244 mf/evr: Notify presenter on new input.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-10-30 16:11:04 +01:00
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
Nikolay Sivov 68204a86a2 mf/evr: Add events queue support for the sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Nikolay Sivov 8ce49878bc mf/evr: Add IMFVideoRenderer stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Nikolay Sivov 835611ef3e mf/evr: Create presenter object on activation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Nikolay Sivov 502341aa76 mf/evr: Create mixer object on activation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Nikolay Sivov 3a973ca827 mf: Make freeing function optional for object activator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-07 19:24:27 +02:00
Nikolay Sivov ca27d5b4ec mf/evr: Track shutdown state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Nikolay Sivov 1f2cf87def mf/evr: Return sink flags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Nikolay Sivov 1cdcfaf688 mf/evr: Add IMFMediaSinkPreroll stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Nikolay Sivov 045a2ff430 mf: Add a sink stub for EVR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-07-06 21:08:56 +02:00
Nikolay Sivov 0c8babdbcc mf: Set clipping window attribute for EVR activator.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-19 18:34:40 +02:00
Nikolay Sivov 68b5a0574c mf/session: Handle source buffering events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 12:37:28 +02:00
Nikolay Sivov af4d5c96d4 mf/topology: Remove logic already present in stream resize helper.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 16:52:02 +02:00
Nikolay Sivov e196619f69 mf/topology: Setting tee node input type does not create input stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-22 16:51:59 +02:00
Nikolay Sivov 710cc2bcfb mf/samplegrabber: Test shutdown state under the lock for methods that modify item queue.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 17:39:35 +02:00
Nikolay Sivov 7a44796de4 mf/samplegrabber: Remove now unnecessary shutdown state check.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 17:39:33 +02:00
Nikolay Sivov 51dcfe4634 mf/samglegrabber: Dump pending items on shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-15 17:39:30 +02:00
Derek Lesho b9ec2719fc mf/samplegrabber: Attach markers to previously queued sample, not the next.
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-05-15 17:39:27 +02:00
Nikolay Sivov 5f5549f154 mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID to initialize audio client.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 20:59:36 +02:00
Nikolay Sivov d3b3b2f4b9 mf/sar: Use MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS attribute to configure audio client.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-14 20:59:36 +02:00
Nikolay Sivov 3000b6ea1a mf/sar: Implement stream flushing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov 3d51816d1c mf/sar: Implement sample processing.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov cbf156b780 mf: Preroll on sink start.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov bd1bfd2c8a mf: Avoid unnecessary prerolling calls in SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov 333e3a53d5 mf: Add flags field for additional SAR state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-13 22:07:32 +02:00
Nikolay Sivov fafe82c6cc mf: Add internal placeholder command for end-of-presentation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:59 +02:00
Nikolay Sivov 40c60b7eb8 mf: Serialize session commands.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:59 +02:00
Nikolay Sivov 59ae49446e mf: Move locking from individual command helpers to command callback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:59 +02:00
Nikolay Sivov a9e2044a11 mf: Add a helper to set paused state for the session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:59 +02:00
Nikolay Sivov b68a765b95 mf: Add a helper to set closed state for the session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:59 +02:00
Nikolay Sivov 741016dd32 mf: Add a helper for session commands without parameters.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-11 21:24:58 +02:00
Nikolay Sivov 35242aa417 mf: Fix timer instance leak on error path in SetTimer().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-06 19:02:06 +02:00
Derek Lesho 1962a1f969 mf: Add missing ::Release of clock timer.
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-05-05 20:53:02 +02:00
Nikolay Sivov 17db99e318 mfuuid: Add file scheme handler CLSID to static library.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 11:41:42 +02:00
Nikolay Sivov 7948b25192 mf: Make sure to request another sample for sample grabber after current timed sample.
Based on patch by Derek Lesho.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 22:03:16 +02:00
Nikolay Sivov a12b5fe084 mf: Handle null marker context for sample grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-24 22:03:16 +02:00
Nikolay Sivov 3b6699822a mf: Add missing IMFMediaEventGenerator query support for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 15:12:21 +02:00
Nikolay Sivov c17994c218 mf: Add missing IMFMediaEventGenerator query support for sample grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-23 15:12:18 +02:00
Nikolay Sivov e49c550bdc mf: Release presentation clock on sample grabber shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov a0035b848e mf: Merge sample grabber sink and stream instances.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov 693bdc63d4 mf: Shutdown SAR sink on ShutdownObject().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov f7bd81439e mf: Implement IMFSimpleAudioVolume for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov ac09b5b497 mf: Implement IMFAudioStreamVolume for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov 983a6cc4a3 mf: Make SAR stream request some samples on restart.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-22 16:47:41 +02:00
Nikolay Sivov 3af3375b97 mf: Send format invalidation event when new type is set for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:33 +02:00
Nikolay Sivov 3368abd36c mf: Implement prerolling for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:31 +02:00
Nikolay Sivov 0d201a215d mf: Handle state changes for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:29 +02:00
Nikolay Sivov da6ad526e9 mf: Create and initialize audio client for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:26 +02:00
Nikolay Sivov 2931ebd0d3 mf: Release presentation clock on SAR shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-21 21:51:24 +02:00
Nikolay Sivov d2c736e1ba mf: Add initial implementation of SAR stream type handler.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:54:40 +02:00
Nikolay Sivov 198fa490a4 mf: Merge SAR sink and steam instances.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-20 20:54:36 +02:00
Nikolay Sivov 169d6b00bc mf: Validate new current type set for sample grabber.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-16 22:10:04 +02:00
Nikolay Sivov 08cdea91ba mf: Set approximate occurrence time for MESessionStopped/MESessionEnded events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Nikolay Sivov fe5e93ccc6 mf: Raise MESessionStopped again if session is already stopped.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Nikolay Sivov 39c66af35e mf: Add support for end of presentation state change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-14 22:04:07 +02:00
Nikolay Sivov 8262ea2909 mf: Forward MEEndOfPresentation event from Media Session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Nikolay Sivov df0608ac83 mf: Handle EndOfStream events within Media Session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Nikolay Sivov a34279daee mf/tests: Add some tests for node list management.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Nikolay Sivov 8a299c4bc3 mf: Implement sink prerolling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-13 21:33:30 +02:00
Nikolay Sivov 387bf24376 mf: Use original topology instance for both MESessionTopologySet and MESessionTopologyStatus.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 17:39:24 +02:00
Nikolay Sivov 4aafa3c38d mf: Always queue set topologies.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 17:39:21 +02:00
Nikolay Sivov 5d09f46150 mf/tests: Add some more tests for SAR current type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-10 17:39:16 +02:00
Nikolay Sivov 86d20a47f4 mf: Add IMFAudioPolicy stub for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Nikolay Sivov e609427dfd mf: Add volume control stubs for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-09 21:04:04 +02:00
Nikolay Sivov f2c9614303 mf: Add type handler stub for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov 16585fec56 mf: Add events support for SAR stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov a88edd3d39 mf: Add stream sink stub for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov cb9b207284 mf: Attempt to create mmdevapi device on SAR creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov 0507ba6aab mf: Add support to get/set presentation clock for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-08 21:01:18 +02:00
Nikolay Sivov 0d5b9cdfa0 mf: Add event queue for SAR sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:49 +02:00
Nikolay Sivov 0070860ef8 mf: Return sink flags for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Nikolay Sivov 509bef711f mf: Add IMFMediaSinkPreroll stub for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Nikolay Sivov 56e03da60f mf: Implement dynamic stream management methods in SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Nikolay Sivov 3fd039fa52 mf: Add IMFMediaSink stub for SAR.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-07 20:55:48 +02:00
Nikolay Sivov cb3517a1bf mf: Set cancellation object directly (Coverity).
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-30 23:10:06 +02:00
Nikolay Sivov 3e12d29c87 mf: Fix returned session rates when pipeline objects don't support rate control.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-27 21:16:13 +01:00
Zebediah Figura ad9c30a1ad mf: Strip trailing zeroes in debugstr_time().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 21:19:49 +01:00
Nikolay Sivov 875b0c40a9 mf: Fix a typo when setting event attribute.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Nikolay Sivov 979c9b2ba2 mf: Clean traces format for topology methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-26 18:34:50 +01:00
Nikolay Sivov d0f4487c61 mf: Fix string array access for registration data helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:26:33 +01:00
Nikolay Sivov e121a55293 mf: Add a helper to trace timestamp arguments.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-25 15:26:33 +01:00
Nikolay Sivov 92d6a8bf8f mf: Set presentation clock for all node types.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:35 +01:00
Nikolay Sivov 69885afbed mf: Forward more Audio Session events from the session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-18 16:40:33 +01:00
Nikolay Sivov 43a88a7317 mf: Forward sink invalidation events to application.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +01:00
Nikolay Sivov bdd9af2c87 mf: Copy sample data to copier transform output.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-17 15:59:02 +01:00
Nikolay Sivov 9e33f3f312 mf: Remove FIXME for zero buffer size, it's used as is.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-16 21:37:25 +01:00
Nikolay Sivov 23757ca513 mf: Implement sample delivering to transform nodes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov 72d0c7e0a7 mf: Add support for requesting sample from transform nodes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov f45419d05a mf: Keep transform node input/output streams map.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov c6f0124e84 mf: Pass start and flush messages to transform nodes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov 7454ac9c04 mf: Send MFT_MESSAGE_NOTIFY_BEGIN_STREAMING message after setting current topology.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov 321484d115 mf: Handle basic case of sample request/response.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov 38f94b4812 mf/tests: Add a test for default node attributes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00
Nikolay Sivov 2eb80e1278 mf: Use single list for topology nodes in current presentation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 14:42:02 +01:00