Commit Graph

60 Commits

Author SHA1 Message Date
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
Nikolay Sivov 344d3fb8a4 mfmediaengine: Add video output topology branch.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-03 21:48:34 +01:00
Nikolay Sivov 113a4c4fa0 mfmediaengine: Keep "preload" property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-11-02 16:01:23 +01:00
Nikolay Sivov a82fa9207d mfmediaengine: Set up audio output branch.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:39 +02:00
Nikolay Sivov b643cefdc0 mfmediaengine: Update ready state property during resolution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:37 +02:00
Nikolay Sivov 496a7035ac mfmediaengine: Implement GetCurrentSource().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:35 +02:00
Nikolay Sivov fae575cee9 mfmediaengine: Fully initialize error state.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:33 +02:00
Nikolay Sivov 4d56ed9d02 mfmediaengine: Implement error property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-04 13:50:31 +02:00
Nikolay Sivov 48c3a30650 mfmediaengine: Implement error object.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 22:56:48 +02:00
Nikolay Sivov 63d8cfa8f9 mfmediaengine/tests: Add some tests for error property.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 22:56:46 +02:00
Nikolay Sivov 3e784ab4a6 mfmediaengine: Set presentation duration attribute.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 22:56:42 +02:00
Nikolay Sivov c1a12f10b3 mfmediaengine: Set media type flags on source resolution.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-03 22:56:38 +02:00
Nikolay Sivov f151550e56 mfmediaengine: Forward buffering events to user callback.
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 4bbb7b6649 mfmediaengine: Duplicate configuration attributes.
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 13aafb43a3 mfmediaengine: Propagate error out on missing callback attribute.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 11:15:33 +02:00
Nikolay Sivov e9cc1d58b4 mfmediaengine: Send "volumechange" event on volume change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 11:15:30 +02:00
Nikolay Sivov daa119581a mfmediaengine: Send "volumechange" event on muted state change.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 11:15:26 +02:00
Nikolay Sivov 6fa8ff6930 mfmediaengine: Send "ratechange" event for both default and playback rate changes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-06-02 11:15:22 +02:00
Nikolay Sivov 58f4680380 mfmediaengine: Send "pause" event on Pause().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 21:19:12 +02:00
Nikolay Sivov 41af1d1e71 mfmediaengine: Send "play" event on Play().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-29 21:19:10 +02:00