Jacek Caban
e3af07501a
mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls.
2024-01-31 12:04:32 +01:00
Jacek Caban
2bbc4e17a5
mfmediaengine/tests: Use MF_MEDIA_ENGINE_CANPLAY type in IMFMediaEngine_CanPlayType call.
2024-01-31 12:04:32 +01:00
Alexandre Julliard
7ccb5df0fc
makefiles: Always use the global SOURCES variable for .rc files.
2023-11-01 22:43:56 +01:00
Alexandre Julliard
c432eac726
makefiles: Always use the global SOURCES variable for .idl files.
2023-11-01 22:43:50 +01:00
Yuxuan Shui
e8943a6463
mfmediaengine: Don't send event notify when engine is shutdown.
...
I've also tried saving a cancel cookie from `BeginCreateObject*` and using it to cancel the
operation in engine shutdown. However there are 2 problems:
1. Callback might still get called after `CancelObjectCreation`. Microsoft's
[own documentation](https://learn.microsoft.com/en-us/windows/win32/api/mfidl/nf-mfidl-imfsourceresolver-cancelobjectcreation )
says as much:
> Because these methods are asynchronous, however, they might be completed before the
> operation can be canceled. Therefore, your callback might still be invoked after you
> call this method.
2. Our implementations of `BeginCreateObject*` are not cancellable. They call either
`MFPutWorkItem` or `IMFByteStream_BeginRead`, neight of which provides cancellation.
(and our `CancelObjectCreation` doesn't actually work. AsyncResult objects aren't added to
`handler->results` list until they are completed, which means any attempts to cancel an
yet-to-be-completed object creation will always fail with `MF_E_UNEXPECTED`)
2023-10-27 11:33:41 -05:00
Nikolay Sivov
7773139261
mfmediaengine: Mask some source flags returned from GetResourceCharacteristics().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-10-19 22:43:57 +02:00
Nikolay Sivov
48e110e0fd
mfmediaengine: Use extension object in CanPlayType().
2023-10-16 11:15:08 +02:00
Nikolay Sivov
b5d4394913
mfmediaengine: Keep engine extension pointer.
2023-10-16 11:15:08 +02:00
Nikolay Sivov
5f48e7816c
mfmediaengine/tests: Use a single helper to create engine instances.
2023-10-16 11:15:08 +02:00
Zhiyi Zhang
5daa21f961
mfmediaengine: Implement media_engine_GetSeekable().
2023-08-14 13:30:23 +02:00
Zhiyi Zhang
4f0a7cd89a
mfmediaengine/tests: Test IMFMediaEngine::GetSeekable().
2023-08-14 13:30:23 +02:00
Zhiyi Zhang
3893db0a20
mfmediaengine/tests: Fix a test failure in test_GetDuration().
...
d19af88f59
happens to change test_transfer_notify_EventNotify() and
that affects test_GetDuration().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55422
2023-08-14 13:30:22 +02:00
Zhiyi Zhang
a2eec34678
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
2023-08-08 21:11:31 +09:00
Zhiyi Zhang
613d7b0999
mfmediaengine/tests: Test IMFMediaEngine::GetDuration().
2023-08-08 21:11:31 +09:00
Bernhard Kölbl
13106b2b38
mfmediaengine: Implement RemoveAllEffects().
...
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Bernhard Kölbl
ffba650a33
mfmediaengine/tests: Add tests for RemoveAllEffects().
...
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Bernhard Kölbl
d19af88f59
mfmediaengine/tests: Make effect tests more consistent.
...
Do this by waiting for the first available frame with a
separate ready event and removing flaky ref checks.
Signed-off-by: Bernhard Kölbl <bkoelbl@codeweavers.com>
2023-08-08 21:11:30 +09:00
Francois Gouget
37885b04f9
mfmediaengine: Add the trailing linefeed to a WARN() message.
...
Also add a trailing period for consistency with this module's other
messages.
2023-07-27 13:12:06 +09:00
Bernhard Kölbl
91a84cff95
mfmediaengine: Add support for inserting audio effects.
2023-07-17 09:40:01 +02:00
Bernhard Kölbl
096b46cf8d
mfmediaengine/tests: Add tests for audio effects.
2023-07-17 09:39:58 +02:00
Bernhard Kölbl
de1dd6cbf7
mfmediaengine: Add support for inserting video effects.
2023-07-06 20:54:29 +02:00
Bernhard Kölbl
621d153d45
mfmediaengine/tests: Add tests for video effects.
...
Signed-off-by: Bernhard Kölbl <besentv@gmail.com>
2023-07-06 20:54:29 +02:00
Nikolay Sivov
2775fe31cd
mfmediaengine/tests: Remove unnecessary broken() result.
2023-06-27 22:14:15 +02:00
Nikolay Sivov
36fcbba73e
mfmediaengine/tests: Use correct type for url argument in SetSourceFromByteStream().
2023-06-27 22:14:15 +02:00
Nikolay Sivov
6b9eb2d09f
mfmediaengine/tests: Allocate notification object on heap for frame transfer tests.
2023-06-27 22:14:15 +02:00
Nikolay Sivov
a79d27c04a
mfmediaengine: Implement GetNumberOfStreams().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2023-05-18 09:14:32 -05:00
Shaun Ren
5ef7a45bc9
mfmediaengine: Pause the session in media_engine_Pause.
2022-12-21 18:24:38 +01:00
Shaun Ren
adbc4b666d
mfmediaengine: Change media_engine_Shutdown FIXME to TRACE.
2022-12-21 18:24:38 +01:00
Bernhard Kölbl
12c28aa22f
mfmediaengine: Pass volume changes to media session.
2022-11-29 21:33:58 +01:00
Rémi Bernon
2f5d06af1d
mfmediaengine: Remove vertical flipping of video frames.
2022-10-14 18:03:38 +02:00
Rémi Bernon
ae4ecbe59e
mfmediaengine/tests: Check IMFMediaEngine_TransferVideoFrames output orientation.
2022-10-14 18:03:38 +02:00
Rémi Bernon
31871d713a
mfmediaengine/tests: Pass a device manager and output format to create_media_engine.
2022-10-14 18:03:37 +02:00
Nikolay Sivov
8ce0ab9739
mfmediaengine/tests: Remove unused header include.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 12:54:40 +02:00
Nikolay Sivov
7608e775ab
mfmediaengine: Implement GetStreamAttribute().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:31:42 +01:00
Nikolay Sivov
2086698e7d
mfmediaengine: Implement GetPresentationAttribute().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:31:40 +01:00
Nikolay Sivov
40c9923982
mfmediaengine: Handle realtime mode flag.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:31:37 +01:00
Nikolay Sivov
1d1eebf38a
mfmediaengine: Implement GetResourceCharacteristics().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:31:34 +01:00
Nikolay Sivov
9a7d166e6b
mfmediaengine: Shutdown media source when clearing current presentation.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-18 09:31:31 +01:00
Nikolay Sivov
29a9ba6e18
mfmediaengine/tests: Build without -DWINE_NO_LONG_TYPES.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-14 21:20:41 +01:00
Eric Pouech
bbfb164e0a
mfmediaengine: Build without -DWINE_NO_LONG_TYPES.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-11 10:57:17 +01:00
Nikolay Sivov
0b98026e2d
mfmediaengine: Use resolver functionality for content type resolution.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-10 10:44:10 +01:00
Eric Pouech
223d2945b5
mfmediaengine: Use correct integral type.
...
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-02 13:47:27 +01:00
Nikolay Sivov
9b17bd1754
mfmediaengine: Improve AddRange() behavior for intersecting ranges.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Nikolay Sivov
4c61027967
mfmediaengine: Handle shutdown state in a few stubs.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Nikolay Sivov
a4890ac799
mfmediaengine: Handle shutdown state in GetBuffered().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Nikolay Sivov
318aa0f387
mfmediaengine: Handle shutdown state in Pause().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Nikolay Sivov
0f4f7ca937
mfmediaengine: Handle shutdown state in Play().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:21 +01:00
Nikolay Sivov
86c0afc797
mfmediaengine: Handle shutdown state in GetCurrentSource().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-28 21:10:20 +01:00
Alexandre Julliard
f0cd33c69e
include: Add support for defining Win32 types as 'long' where possible.
...
Add -DWINE_NO_LONG_TYPES to modules that still have compilation
warnings with long types.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 20:38:22 +01:00
Nikolay Sivov
6938f9b903
mfmediaengine: Implement audio renderer configuration methods.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:58:33 +01:00