Commit Graph

76 Commits

Author SHA1 Message Date
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
Nikolay Sivov 3556990387 mfmediaengine: Force returned playback position after presentation ends.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 13:47:11 +01:00
Nikolay Sivov 67815c2f62 mfmediaengine: Set "ended" state when session presentation ends.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 13:47:08 +01:00
Nikolay Sivov 85a62b3657 mfmediaengine: Use existing helper to update engine state flags.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 13:47:05 +01:00
Nikolay Sivov 39d177b88b mfmediaengine: Use presentation clock interface from the session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-29 13:47:01 +01:00
Nikolay Sivov 84b66e153d mfmediaengine: Return full presentation range in GetBuffered().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:04:34 +01:00
Nikolay Sivov db549a680e mfmediaengine: Add partial implementation of a time range object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-27 21:04:32 +01:00
Nikolay Sivov 3f00fbc2e9 mfmediaengine: Return current session time in GetCurrentTime().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-01-25 23:31:09 +01:00
Nikolay Sivov 86a72e055e mfmediaengine: Handle shutdown state in GetNativeVideoSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 20:46:41 +01:00
Nikolay Sivov ef8bf642c7 mfmediaengine: Implement GetVideoAspectRatio().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-05 20:46:39 +01:00
Nikolay Sivov b793799d3d mfmediaengine: Implement GetNativeVideoSize().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-04 21:11:44 +01:00
Nikolay Sivov feb4236e31 mfmediaengine: Implement OnVideoStreamTick().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:47 +01:00
Nikolay Sivov 37ffe44443 mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_FIRSTFRAMEREADY on first video sample.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:45 +01:00
Derek Lesho fa25360235 mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_ENDED upon MESessionEnded.
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-11-03 21:48:43 +01:00
Derek Lesho 4b45a8dd8e mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_PLAYING upon MESessionStarted.
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-11-03 21:48:40 +01:00
Derek Lesho 97b4c04e0d mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_CANPLAY upon MF_TOPOSTATUS_READY.
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-11-03 21:48:38 +01:00
Derek Lesho b7d341497e mfmediaengine: Provide the partial topology to the media session.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:36 +01:00