63 Commits

Author SHA1 Message Date
Nikolay Sivov
be08f2c203 mf: Match session state names with events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Nikolay Sivov
186b6a6fa7 mf: Implement transition to closed state together with sink finalization.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Nikolay Sivov
23012b1304 mf: Correctly respond to start attempt from closed state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Nikolay Sivov
15a9ab9409 mf: Handle shutdown state in GetFullTopology().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-03 14:20:25 +01:00
Nikolay Sivov
de95a03029 mf: Fix GetClock() for shutdown state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 13:06:08 +01:00
Nikolay Sivov
5ec5eb0790 mf: Add a helper to check for session shutdown state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 13:06:04 +01:00
Nikolay Sivov
0b4e460184 mf: Implement GetFullTopology().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-02 13:05:56 +01:00
Nikolay Sivov
ddfb56c0b7 mf: Implement Stop() command for media session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
d4cc70e1b6 mf: Allow restarting from paused state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
43fd6bd94a mf: Implement Pause() command for media session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
74e7e45d9f mf: Track stream sinks state to maintain session state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
9122d73ccd mf: Implement two-step session transition to running state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
9eb7337a58 mf: Add support for MESessionCapabilitiesChanged event.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
c61219625c mf: Query for optional event generator for sinks.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
4fc32ab657 mf: Keep a list of output streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
5dc6db5fd3 mf: Use generic enum for object states.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
adb420ee0d mf: Use separate list for source streams.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
a93dde5ad8 mf: Create separate topology object and use it as current.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
9d004b8466 mf: Subscribe for next pipeline object event after processing current one.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
f4280cc04d mf: Add support for returning slowest/fastest rates for session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-28 16:39:02 +01:00
Nikolay Sivov
431afba5cf mf: Shut down quality manager on session shutdown.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-21 13:48:44 +01:00
Nikolay Sivov
f396d80df5 mf: Use more descriptive name for one of the impl_from_* helpers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:16:53 +01:00
Nikolay Sivov
0eda16206a mf: Implement timer functionality for presentation clock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-20 16:16:53 +01:00
Nikolay Sivov
afe4b134cf mf: Simplify clock notification handling.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-27 14:42:29 +01:00
Nikolay Sivov
88c8578459 mf: Add RegisterMFTs() implementation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:39:11 +02:00
Nikolay Sivov
7692394231 mf: Add IMFLocalMFTRegistration stub.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-07 23:39:05 +02:00
Nikolay Sivov
4e8d7ece69 mf: Return earlier for clock state change calls when time source is not set.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
3bd1e1edf7 mf: Set presentation clock for sinks, subscribe to sink events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
01bab1876d mf: Send MF_TOPOSTATUS_STARTED_SOURCE status notification after all sources were started successfully.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
82f03261b8 mf: Rearrange topology queueing logic to simplify status notifications.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
7c5fcfffe7 mf: Unify trace formats for session methods.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
3471b779a5 mf: Add async command for stopping the session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
b91a701c52 mf: Add async command for session pause.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Nikolay Sivov
b8ba4909ee mf: Keep media source state based on raised events.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:17:23 +02:00
Nikolay Sivov
41853aee79 mf: Subscribe to media stream events for current presentation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 12:17:14 +02:00
Nikolay Sivov
350a3ec6a2 mf: Implement initial support for starting media sources within a session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 19:17:28 +02:00
Nikolay Sivov
d2bd44992e mf: Add initial async implementation of SetTopology().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-27 16:14:49 +02:00
Nikolay Sivov
df5463f3aa mf: Remove fixme trace for partially handled functionality.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:42 +02:00
Nikolay Sivov
c64f919b09 mf: Create quality manager on session creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:40 +02:00
Nikolay Sivov
76a347a53e mf: Create topology loader of session creation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:36 +02:00
Nikolay Sivov
000a552d4f mf: Add stub implementation for standard quality manager.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-24 11:34:33 +02:00
Nikolay Sivov
d2c518e546 mf: Fix method name.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:37:54 +02:00
Nikolay Sivov
7e765f960b mf: Return clock rate as session rate.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:37:51 +02:00
Alexandre Julliard
c7d06a084b mf: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-11 08:23:31 +02:00
Nikolay Sivov
d9cd07fd4e mf: Add rate support for presentation clock.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-03 22:33:30 +02:00
Nikolay Sivov
2bc81c53a7 mf: Forward GetCorrelatedTime() to time source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:45:46 +02:00
Nikolay Sivov
f8537c5acd mf: Forward GetTime() calls to time source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:45:42 +02:00
Nikolay Sivov
bd2e2141b0 mf: Return presentation clock properties.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:45:36 +02:00
Nikolay Sivov
34ffec67a7 mf: Get presentation clock flags from current time source.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:45:30 +02:00
Nikolay Sivov
0efb33c2da mf: Raise event on session close.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-31 12:45:26 +02:00