Commit Graph

226 Commits (3078f10d43d834b0498358fe0accb565191b7020)

Author SHA1 Message Date
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