Jacek Caban
e3af07501a
mfmediaengine: Avoid implicit casts in IMFAttributes_GetUINT32 calls.
2024-01-31 12:04:32 +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
Zhiyi Zhang
5daa21f961
mfmediaengine: Implement media_engine_GetSeekable().
2023-08-14 13:30:23 +02:00
Zhiyi Zhang
a2eec34678
mfmediaengine: Use a mftime_to_seconds() helper to convert time.
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
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
de1dd6cbf7
mfmediaengine: Add support for inserting video effects.
2023-07-06 20:54:29 +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
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
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
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
Nikolay Sivov
9bf8fdaa8e
mfmediaengine: Implement SetSourceFromByteStream().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-27 17:58:31 +01:00
Giovanni Mascellani
598325385b
mfmediaengine: Add a IMFMediaEngineEx stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-21 13:15:08 +01:00
Nikolay Sivov
ef11c41d41
mfmediaengine: Add IMFGetService stub.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-20 18:15:40 +01:00
Giovanni Mascellani
792546f612
mfmediaengine: Fix a memory leak.
...
Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-01-19 10:39:42 +01:00
Nikolay Sivov
aeabe991ff
mfmediaengine: Handle B8G8R8X8 format for d3d11 texture output.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 21:12:34 +02:00
Nikolay Sivov
bf824dbb92
mfmediaengine: Handle Play() when called before topology is set.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-22 21:12:31 +02:00
Nikolay Sivov
f56c12c847
mfmediaengine: Update network state when loading the media source.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 21:51:16 +02:00
Nikolay Sivov
04547b424d
mfmediaengine: Handle shutdown state in SetSource().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 21:51:13 +02:00
Nikolay Sivov
86cbfafe92
mfmediaengine: Enable source type enumeration.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-02 20:16:07 +02:00
Nikolay Sivov
c7339d6281
mfmediaengine: Add missing initialization of vertex buffer components (Coverity).
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-31 17:53:54 +02:00
Nikolay Sivov
2d52578387
mfmediaengine: Initial implementation of TransferVideoFrame() for ID3D11Texture2D destination.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:10 +02:00
Nikolay Sivov
d6eb5947e1
mfmediaengine: Explicitly store output video format.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Nikolay Sivov
b20c478bfd
mfmediaengine: Keep device manager reference.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Nikolay Sivov
c7023042e1
mfmediaengine: Keep latest video frame buffer.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-17 18:49:09 +02:00
Alexandre Julliard
bd6b53740c
winecrt0: Add a default implementation for DllCanUnloadNow().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-30 22:59:50 +02:00
Nikolay Sivov
e3f3e2d3b9
mfmediaengine: Use CRT function for heap allocations.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-04-08 12:14:31 +02:00
Alexandre Julliard
0ace8475f9
mfmediaengine: Use --prefer-native instead of DLL_WINE_PREATTACH.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-23 10:06:25 +01:00
Nikolay Sivov
0ec86a165a
mfmediaengine: Fix vtable variables types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-02 21:09:37 +01:00
Nikolay Sivov
21ae610d14
mfmediaengine: Use consistent format for traces.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 13:47:14 +01:00