Commit Graph

41 Commits

Author SHA1 Message Date
Nikolay Sivov bab4f2939e mf: Use CRT allocation functions.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:37 +02:00
Giovanni Mascellani 6ac1cd51bd mf/samplegrabber: Handle paused state.
The following behaviors from Windows are implemented:
 * Transitions from STOPPED to PAUSED are forbidden;
 * Sample requests are only emitted for transitions from STOPPED to
   RUNNING (i.e., not when transitioning from PAUSED);
 * Transition events are emitted again when transitioning from a
   state to the same state, except when such state is PAUSED.

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-03 17:42:19 +02:00
Derek Lesho 133ba763e1 mf/samplegrabber: Evaluate type compatibility by comparison to the initial type.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-27 11:34:03 +01:00
Nikolay Sivov 07139b0be2 mf/samplegrabber: Implement IMFRateSupport.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-19 21:23:22 +01: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 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 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 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 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 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 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 15657f68a4 mf: Improve ShutdownObject() behavior for sample grabber activation object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:56:17 +01:00
Nikolay Sivov 2062dd95d7 mf: Block samplegrabber stream event calls after stream is removed.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:56:11 +01:00
Nikolay Sivov 97f949b9c6 mf: Shutdown samplegrabber event queue on sink shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 15:56:08 +01:00
Nikolay Sivov a6d048f633 mf: Request another sample from sample grabber in clock-ignoring mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 13:48:44 +01:00
Sven Baars 96062c4c79 mf: Leave instead of enter a critical section.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 17:11:43 +02:00
Nikolay Sivov d5b79e6a79 mf: Adjust sample grabber sink flags in rateless mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-08 15:31:07 +02:00
Nikolay Sivov 672ce5c7d1 mf: Forward grabber clock state change calls to user callback.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:30:25 +02:00
Nikolay Sivov 2d4387c1f5 mf: Add support for IMFSampleGrabberSinkCallback2.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 18:30:25 +02:00
Nikolay Sivov 880559b2b4 mf: Implement stream flushing for sample grabber.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:17:13 +02:00
Nikolay Sivov f525251226 mf: Add support for MEStreamSinkMarker event for sample grabber.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:17:10 +02:00
Nikolay Sivov 5371d6b82b mf: Raise sample request events for sample grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-10 12:17:07 +02:00
Nikolay Sivov 54e45dbf7d mf: Implement clock-synchronized mode for ProcessSample() in sample grabber sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-06 15:30:46 +02:00
Nikolay Sivov 81e16e90c4 mf: Implement ProcessSample() for unclocked mode.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:27 +02:00
Nikolay Sivov 2dba94b278 mf: Maintain sample grabber sink state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-30 21:53:27 +02:00
Nikolay Sivov 5d6241fbcb mf: Detach sink stream on sample grabber shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 20:17:49 +02:00
Nikolay Sivov 2407a0f53b mf: Implement presentation clock methods for sample grabber.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-28 20:17:47 +02:00
Nikolay Sivov 3139727a97 mf: Implement type handler methods for sample grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-27 20:52:38 +02:00
Nikolay Sivov c742a4e18d mf: Add events support for grabber sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 18:32:28 +02:00
Nikolay Sivov 2045afe450 mf: Add events support for grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 18:32:26 +02:00
Nikolay Sivov e6c488de36 mf: Add clock state sink stub for grabber.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 18:32:24 +02:00
Nikolay Sivov a2c8658bd2 mf: Add IMFMediaTypeHandler stub for grabber stream.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 18:32:21 +02:00
Nikolay Sivov dfd8457fd5 mf: Add sample grabber sink stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-20 18:32:19 +02:00
Nikolay Sivov 12a02e98a5 mf: Add stubs to create audio renderer sink.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-13 12:44:54 +02:00
Nikolay Sivov 3170638758 mf: Add a stub for sample grabber activation object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-06 07:13:54 -05:00