Skip to content

win-mediafoundation: Introduce Media Foundation-based encoding support on WoA#11993

Open
thirumalai-qcom wants to merge 5 commits intoobsproject:masterfrom
thirumalai-qcom:mft-support
Open

win-mediafoundation: Introduce Media Foundation-based encoding support on WoA#11993
thirumalai-qcom wants to merge 5 commits intoobsproject:masterfrom
thirumalai-qcom:mft-support

Conversation

@thirumalai-qcom
Copy link

@thirumalai-qcom thirumalai-qcom commented Mar 24, 2025

Description

This PR introduces the media foundation plugin to OBS Studio, enabling Media Foundation-based encoding for H264, HEVC and AV1. This plugin supports hardware-accelerated encoding on Windows on ARM (WoA) devices, specifically those utilizing Qualcomm hardware encoders. The Key changes include:

  • win-mediafoundation: Add base files for MFT encoders support on WoA
  • win-mediafoundation: Add MFT H264 encoder for WoA
  • win-mediafoundation: Add MFT HEVC encoder for WoA
  • win-mediafoundation: Add MFT AV1 encoder for WoA
  • cmake: Add mediafoundation plugin to OBS windows build

Motivation and Context

The primary motivation for these changes is to enable hardware-accelerated encoding on Windows on ARM (WoA) devices by introducing the win-mediafoundation plugin in OBS Studio. With the growing adoption of WoA devices, ensuring OBS Studio can leverage hardware encoders on this platform improves performance and efficiency, reducing CPU load while maintaining high-quality encoding.

By integrating the mediafoundation plugin into the build system, we enable native support for Media Foundation-based encoding on WoA, ensuring users on this platform can leverage hardware acceleration for streaming and recording. This change ensures better utilization of Qualcomm hardware encoders, providing a more efficient and optimized encoding experience.

How Has This Been Tested?

The changes have been tested by building OBS Studio on a Windows on ARM (WoA) device with Qualcomm hardware. The build completed successfully, and basic functionality tests confirmed that OBS Studio runs as expected with the media foundation plugin. Media Foundation-based encoding for H264, HEVC and AV1 was verified to function correctly, ensuring proper hardware acceleration on WoA devices utilizing Qualcomm hardware.

Types of changes

  • New feature (non-breaking change which adds functionality)

Checklist:

  • My code has been run through clang-format.
  • I have read the contributing document.
  • My code is not on the master branch.
  • The code has been tested.
  • All commit messages are properly formatted and commits squashed where appropriate.
  • I have included updates to all appropriate documentation.

@WizardCM WizardCM added Seeking Testers Build artifacts on CI New Feature New feature or plugin labels Mar 24, 2025
@thirumalai-qcom thirumalai-qcom force-pushed the mft-support branch 2 times, most recently from 55aa652 to ea69f55 Compare March 25, 2025 11:32
@thirumalai-qcom thirumalai-qcom marked this pull request as ready for review March 25, 2025 11:55
Copy link
Member

@PatTheMav PatTheMav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wary about just reintroducing the old code as-is, particularly as we have progressed to C++17 and expect modern C++ coding practices, including but not limited to:

  • Use of anonymous namespaces instead of static functions is deprecated in C++ (static functions are only used for class methods in modern C++).
  • Use of constexpr as it's preferable over macros in almost all situations as they enable the compiler to optimise code better and sometimes resolve entire code paths at compile time
  • Abuse of macros instead of functions marked as constexpr (see above) which makes the code harder to debug

Just merging this would mean re-importing the code smell as well and I just don't see someone else volunteering to "refactor" it after it's been merged again.

@derrod
Copy link
Member

derrod commented Mar 25, 2025

I tested this on my Snapdragon X laptop and it does work as expected.

But Ideally this plugin should be either rewritten from the ground up, or replaced wholesale with just using the FFmpeg implemenation. At the very least, the AAC encoder could probably be removed. Of course since this is ancient it also doesn't support AV1 (which the X Elite chips do support).

Aside from what Pat mentioned, the naming also conflicts with #10471 right now.

@dd-han
Copy link

dd-han commented Apr 13, 2025

Will this work with my older Surface Pro X (SQ2)?

If it works I can help test it.

@thirumalai-qcom thirumalai-qcom force-pushed the mft-support branch 4 times, most recently from 13c8aac to 2aa95e6 Compare May 20, 2025 11:10
@thirumalai-qcom
Copy link
Author

Will this work with my older Surface Pro X (SQ2)?
If it works I can help test it.

@dd-han Thanks for offering to help.
I believe it should work with your Surface Pro X [SQ2] which is based on the Snapdragon 8cx, If you get a change to try it out, please let me know how it goes.

@SA-Root
Copy link

SA-Root commented May 31, 2025

Hi, I tried using version 31.1.0 beta 1 on my pc with 8cx Gen 3, and I got 2 problems with MF based encoding:

  1. When using h264_mf encoder, it seems to be using CPU to encode the video.
    image
    image

  2. When I tried to use hevc_mf encoder, OBS immediately crashed when I click the Start Recording button. The corresponding log files are attached below.
    image
    image

2025-05-31 21-12-18.txt
Crash 2025-05-31 21-14-41.txt

image

@RytoEX
Copy link
Member

RytoEX commented May 31, 2025

Hi, I tried using version 31.1.0 beta 1 on my pc with 8cx Gen 3, and I got 2 problems with MF based encoding:

  1. When using h264_mf encoder, it seems to be using CPU to encode the video.

You are using the Media Foundation encoder via FFmpeg. That is not what is in this PR, and this PR has not been merged, so it is not in OBS Studio 31.1.0 Beta 1. Please use our forums or Discord for assistance.

@driver1998
Copy link

@SA-Root When using h264_mf encoder, it seems to be using CPU to encode the video.

You need to pass additional flags to make hardware encoding work with the ffmpeg backend.
See https://driver1998.github.io/posts/ffmpeg-hardware-video-encoding-on-qualcomm-woa/ (Chinese only)

Copy link
Member

@PatTheMav PatTheMav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left a first round of reviews, will still have to look at the HEVC and H264 encoder implementations.

Except for the missing newline issues I haven't commented on every repeat issue, so things like functions marked inline in compilation units, opaque variable names, "magic" global variables, should be fixed throughout and not just were I first encountered them in review.

@derrod
Copy link
Member

derrod commented Jul 10, 2025

Couple more notes:

  • You should remove the AAC encoder, it was removed due to glitches and we don't really have a reason to reintroduce it
    • If you insist on keeping it, add the .codecs property so it is correctly recognised by the encoder selectors, currently it's not selectable due to missing codec information
  • MediaFoundation does support DirectX textures as encoder input since Windows 8.1 and that should be preferred over copying data to system RAM

@thirumalai-qcom thirumalai-qcom changed the title win-mf: Reintroduce win-mf plugin for Media Foundation-based encoding on WoA WIP:: win-mf: Reintroduce win-mf plugin for Media Foundation-based encoding on WoA Aug 4, 2025
@thirumalai-qcom thirumalai-qcom force-pushed the mft-support branch 2 times, most recently from 88a1a72 to 8ba0168 Compare August 12, 2025 12:31
Copy link
Member

@PatTheMav PatTheMav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine apart from the few things I found. This will probably require a small refactor to change the plugin ID and also final output directory once we have guidance, but those should be less impactful final changes.

@happyme531
Copy link

Tested 19a4f9f on my fork https://github.com/happyme531/obs-studio/actions/runs/19539489248 on my Snapdragon X Elite laptop. The H.264 and 265 encoders produce broken videos on CBR mode but works fine in VBR. AV1 endoder works fine.

ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 -rate_control cbr output.mp4 works fine, so not likely a driver issue.

@Vignesh-qcom
Copy link

Tested 19a4f9f on my fork https://github.com/happyme531/obs-studio/actions/runs/19539489248 on my Snapdragon X Elite laptop. The H.264 and 265 encoders produce broken videos on CBR mode but works fine in VBR. AV1 endoder works fine.

ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 -rate_control cbr output.mp4 works fine, so not likely a driver issue.

Hi @happyme531,

Thank you so much for testing our changes and sharing such detailed feedback—we really appreciate the time you took to validate this on your Snapdragon X Elite setup.
Regarding the issue where H.264 and H.265 encoders produce broken output in CBR mode (while VBR works fine):
Could you share the input video configuration you used for this test? Having the exact input will help us reproduce the problem reliably and investigate further.

Here’s what I observed during my tests with OBS Studio:

1080p input, output configured with CBR 2500 kbps → Output looks fine.
4K input, output configured with CBR 2500 kbps → Output shows broken pixels.
Increasing CBR to 5000 kbps for 4K output → Output looks proper.

Similarly, using FFmpeg:
ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 -rate_control cbr output.mp4

By default, it uses 1000 kbps, which results in pixelation. When I set the bitrate to 5000 kbps, the output looks proper.

Could you confirm if you’re seeing the same behavior?

@happyme531
Copy link

Tested 19a4f9f on my fork https://github.com/happyme531/obs-studio/actions/runs/19539489248 on my Snapdragon X Elite laptop. The H.264 and 265 encoders produce broken videos on CBR mode but works fine in VBR. AV1 endoder works fine.
ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 -rate_control cbr output.mp4 works fine, so not likely a driver issue.

Hi @happyme531,

Thank you so much for testing our changes and sharing such detailed feedback—we really appreciate the time you took to validate this on your Snapdragon X Elite setup. Regarding the issue where H.264 and H.265 encoders produce broken output in CBR mode (while VBR works fine): Could you share the input video configuration you used for this test? Having the exact input will help us reproduce the problem reliably and investigate further.

Here’s what I observed during my tests with OBS Studio:

1080p input, output configured with CBR 2500 kbps → Output looks fine. 4K input, output configured with CBR 2500 kbps → Output shows broken pixels. Increasing CBR to 5000 kbps for 4K output → Output looks proper.

Similarly, using FFmpeg: ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 -rate_control cbr output.mp4

By default, it uses 1000 kbps, which results in pixelation. When I set the bitrate to 5000 kbps, the output looks proper.

Could you confirm if you’re seeing the same behavior?

Did more testing. The input is configured to 3440x1440p60 .
It seems related to the container format.

CBR 2500k produced working video when selecting mp4, hybrid mp4, mov or flv format but produced completely broken video (black screen) with mkv(which is the default format).
CBR 15000k produced half broken mkv which plays correctly for first few seconds but stuck afterward.
VBR 2500k is okay.

Weirdly FFmpeg is broken too with mediafondation encoder with mkv output, h264 and av1, cbr and vbr. libx264 works fine.
ffmpeg -hwaccel d3d11va -i input.mp4 -an -c:v h264_mf -hw_encoding 1 -rate_control cbr -b:v 25000k output.mkv:

File 'output.mkv' already exists. Overwrite? [y/N] y
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_mf))
Press [q] to stop, [?] for help
[h264_mf @ 000001f71d6c9a00] MFT name: 'QCOM Hardware Encoder - H264'
[out#0/matroska @ 000001f71d80e480] Could not write header (incorrect codec parameters ?): Invalid data found when processing input
[vf#0:0 @ 000001f71bc1f9c0] Error sending frames to consumers: Invalid data found when processing input
[vf#0:0 @ 000001f71bc1f9c0] Task finished with error code: -1094995529 (Invalid data found when processing input)
[vf#0:0 @ 000001f71bc1f9c0] Terminating thread with return code -1094995529 (Invalid data found when processing input)
[out#0/matroska @ 000001f71d80e480] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A elapsed=0:00:00.24
Conversion failed!

Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Following up on the naming discussion, please use plugins/win-mediafoundation/encoder as the base plugin folder. This should resolve the naming/location feedback.

@thirumalai-qcom thirumalai-qcom changed the title mediafoundation: Introduce Media Foundation-based encoding support on WoA win-mediafoundation: Introduce Media Foundation-based encoding support on WoA Jan 22, 2026
@thirumalai-qcom
Copy link
Author

Hi @RytoEX,
The PR has been rebased, and the suggested plugin rename to win-mediafoundation/encoder has been completed, the resulting CI binaries are also tested.
Could you please review the PR further and share your feedback?

thirumalai-qcom and others added 5 commits February 5, 2026 17:50
This commit re-introduces the base files required for Media Foundation
Transform (MFT) support in the mediafoundation plugin, specifically
targeting Windows on ARM devices with Qualcomm hardware. It includes
core implementation files, language configuration file for localization,
and the initial CMakeLists.txt for integration.

Co-authored-by: Vignesh-qcom <vignelum@qti.qualcomm.com>
This commit introduces H264 encoder support using the Media Foundation
Transform (MFT) interface, specifically targeting Windows on ARM (WoA)
devices with Qualcomm hardware. It adds mf-h264.cpp and
mf-h264-encoder.cpp/.hpp to implement the encoding logic.

Co-authored-by: Vignesh-qcom <vignelum@qti.qualcomm.com>
This commit introduces HEVC encoder support using the Media Foundation
Transform (MFT) interface, specifically targeting Windows on ARM (WoA)
devices with Qualcomm hardware. It adds mf-hevc.cpp and
mf-hevc-encoder.cpp/.hpp to implement the encoding logic.

Co-authored-by: Vignesh-qcom <vignelum@qti.qualcomm.com>
This commit introduces AV1 encoder support using the Media Foundation
Transform (MFT) interface, specifically targeting Windows on ARM (WoA)
devices with Qualcomm hardware. It adds mf-av1.cpp and
mf-av1-encoder.cpp/.hpp to implement the encoding logic.

Co-authored-by: Vignesh-qcom <vignelum@qti.qualcomm.com>
This commit updates the CMakeLists.txt file in the plugins directory to
incorporate the mediafoundation plugin into OBS build system. This
ensures that Media Foundation-based encoding is available for Windows
on ARM (WoA) devices, utilizing Qualcomm hardware for efficient video
Encoding.
@Vignesh-qcom
Copy link

Couple more notes:

  • You should remove the AAC encoder, it was removed due to glitches and we don't really have a reason to reintroduce it

    • If you insist on keeping it, add the .codecs property so it is correctly recognised by the encoder selectors, currently it's not selectable due to missing codec information
  • MediaFoundation does support DirectX textures as encoder input since Windows 8.1 and that should be preferred over copying data to system RAM

Hi @derrod,

The PR has been rebased, the recommended DirectX texture input support for the encoder has been fully implemented, and the resulting CI build artifacts have been verified through testing.
Can you please review it and share your feedback?

CC: @RytoEX and @PatTheMav

@derrod
Copy link
Member

derrod commented Feb 9, 2026

Couple more notes:

  • You should remove the AAC encoder, it was removed due to glitches and we don't really have a reason to reintroduce it

    • If you insist on keeping it, add the .codecs property so it is correctly recognised by the encoder selectors, currently it's not selectable due to missing codec information
  • MediaFoundation does support DirectX textures as encoder input since Windows 8.1 and that should be preferred over copying data to system RAM

Hi @derrod,

The PR has been rebased, the recommended DirectX texture input support for the encoder has been fully implemented, and the resulting CI build artifacts have been verified through testing. Can you please review it and share your feedback?

CC: @RytoEX and @PatTheMav

I'll try to review and test it on my Snapdragon laptop it sometime this week.

@rbqvq
Copy link

rbqvq commented Feb 10, 2026

It seems have some problem on my Windows Dev Kit 2023 (Snapdragon 8cx Gen3). (Binary from https://github.com/obsproject/obs-studio/actions/runs/21711435452)

I'm not sure is my configure has some error or driver has some issues?

I would be very grateful if someone could offer some help.

FFmpeg is working fine, so I think it might be some configuration issue?

ffmpeg -hwaccel d3d11va -f gdigrab -i desktop -c:v h264_mf -s 2560x1440 -pix_fmt nv12 -color_range pc -rate_control cbr -bitrate 10M -scenario display_remoting -hw_encoding true -log_level debug -f null -

ffmpeg -hwaccel d3d11va -f gdigrab -i desktop -c:v hevc_mf -s 2560x1440 -pix_fmt nv12 -color_range pc -rate_control cbr -bitrate 10M -scenario display_remoting -hw_encoding true -log_level debug -f null -

Failed with

  • CBR, VBR
  • Color Range: Full / Limit
  • H264 / HEVC

屏幕截图 2026-02-10 233929 屏幕截图 2026-02-10 233944 屏幕截图 2026-02-10 234013 屏幕截图 2026-02-10 234106

Logs
2026-02-10 23-58-54.txt

@talynone
Copy link

It seems have some problem on my Windows Dev Kit 2023 (Snapdragon 8cx Gen3). (Binary from https://github.com/obsproject/obs-studio/actions/runs/21711435452)

I'm not sure is my configure has some error or driver has some issues?

For HEVC encoding, depending how it's enumerating the encoder, you may need the HEVC Video Extensions installed:
https://apps.microsoft.com/detail/9NMZLZ57R3T7 (shouldn't need it with MFTEnumEx with the MFT_ENUM_FLAG_HARDWARE flag)

8cx Gen3 is the older generation Snapdragon.

The 8cx should still support Media Foundation. The new Snapdragon X series mainly added support for AV1 hardware encoding.

The 8cx Gen3 uses the Adreno 690. The X series use X1-45 or X1-85 and X2 will use X2-85 or X2-90.
https://en.wikipedia.org/wiki/Adreno#Adreno_500_series

Here's a good overview of encoding capabilities of the Adreno GPU model (X1-85) in the current X series Snapdragon:
https://old.reddit.com/r/snapdragon/comments/1eumia4/snapdragon_x_elite_hardware_decoding_options/

I can't find anything enumerating the specifics of the 690.

Gemini did provide these tips (unverified):

The hardware encoder is very specific. It generally expects NV12 or P010 (for 10-bit). If you try to feed it standard RGB or YV12 without a conversion step in your pipeline, the MFT will often fail to initialize or fall back to software.

Unlike some older software MFTs, the Qualcomm hardware MFTs on Windows ARM generally operate in Asynchronous Mode. If you are writing custom C++ wrapper code, you must handle the METransformHaveOutput events rather than using a simple synchronous ProcessInput / ProcessOutput loop.

@rbqvq
Copy link

rbqvq commented Feb 10, 2026

Yes, I know that part of HEVC, I installed the plugin for HEVC, FFmpeg is available to use the hardware encoder for H264/HEVC.

Thank you for your answer. I am currently debugging h264_mf in Sunshine.

The error reported by Sunshine (FFmpeg avcodec) is processInput: INVALID_ARGUMENT

I think this part seems to have something to do with the driver difference.

According to another Sunshine developer's description, he can use it normally on X1 GPU, so I'm a little confused because FFmpeg works.

@Vignesh-qcom
Copy link

It seems have some problem on my Windows Dev Kit 2023 (Snapdragon 8cx Gen3). (Binary from https://github.com/obsproject/obs-studio/actions/runs/21711435452)

I'm not sure is my configure has some error or driver has some issues?

I would be very grateful if someone could offer some help.

FFmpeg is working fine, so I think it might be some configuration issue?

ffmpeg -hwaccel d3d11va -f gdigrab -i desktop -c:v h264_mf -s 2560x1440 -pix_fmt nv12 -color_range pc -rate_control cbr -bitrate 10M -scenario display_remoting -hw_encoding true -log_level debug -f null -

ffmpeg -hwaccel d3d11va -f gdigrab -i desktop -c:v hevc_mf -s 2560x1440 -pix_fmt nv12 -color_range pc -rate_control cbr -bitrate 10M -scenario display_remoting -hw_encoding true -log_level debug -f null -

Failed with

  • CBR, VBR
  • Color Range: Full / Limit
  • H264 / HEVC

屏幕截图 2026-02-10 233929 屏幕截图 2026-02-10 233944 屏幕截图 2026-02-10 234013 屏幕截图 2026-02-10 234106
Logs 2026-02-10 23-58-54.txt

Hi @rbqvq, Thanks for testing the changes.
Could you share the detailed steps to reproduce the issue?
Also, are you seeing the problem only during streaming, or does it occur in recordings as well?

@talynone
Copy link

talynone commented Feb 11, 2026

Just providing some feedback.

Using a Lenovo Yoga Slim 7x with Snapdragon Elite. Set recording video codec to Qualcomm AV1, MKV container and 10,000 bitrate. Default rate of 2,500 quality was too blurr/blocky. I checked task manager and for sure it was using my GPU.

@rbqvq
Copy link

rbqvq commented Feb 11, 2026

Hi @rbqvq, Thanks for testing the changes. Could you share the detailed steps to reproduce the issue? Also, are you seeing the problem only during streaming, or does it occur in recordings as well?

I add a source from Display Capture (2K 120fps)
Set output to source sizes.
Detailed configuration screenshots and logs have been attached before, and I will test the recording function later.

In addition, I will debug the specific error code via mftrace later.

Thanks.

MF.H264.EncoderHWAMD="AMD Video Coding Engine H.264 Encoder (Media Foundation)"
MF.H264.EncoderHWIntel="Intel Quick Sync H.264 Encoder (Media Foundation)"
MF.H264.EncoderHWNVIDIA="NVIDIA NVENC H.264 Encoder (Media Foundation)"
MF.H264.EncoderHWQCOM="Qulcomm(R) Adreno(TM) H.264 (AVC) Encoder"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Qualcomm is misspelled as "Qulcomm" in multiple locations

@derrod
Copy link
Member

derrod commented Feb 13, 2026

I've re-tested now on my X1 Elite laptop, here's some notes:

  • Several translation strings are missing, see previous screenshots of settings
  • The default bitrate should be updated to 6000 (as per frontend, plugins: Set default bitrate to 6000 kbps #9442)
  • Typos as mentioned above, I also think the "(R)" and "(TM)" should be ommitted here, it's just noise. If it needs to be there, use the proper unicode characters (™/®) instead
  • AV1 is very broken, but I think this is also the case with FFmpeg

Sometimes performance seems a bit iffy and there seem to be dropped frames, but I need to do more testing. It seems that 60 FPS was fine but 30 FPS had issues, which is unexpected.

AV1 example with CBR @ 6 Mbps:

2026-02-13 18-41-14 mp4_snapshot_00 36 083

@rbqvq
Copy link

rbqvq commented Feb 15, 2026

I've tested record feature, it also a encoder error.

I just unzip OBS and run it, set encoder to QCOM H264 in advance settings.

Here is a screen recording

https://drive.google.com/file/d/1eBOS6f87sfzEMBri_S7iHpf9Afj2LOzI/view?usp=sharing


OS: Windows 11 25H2
Device: Windows Dev Kit 2023
SoC: Snapdragon 8cx Gen3
GPU Driver: 30.0.4195.6500


Update:

MFTrace log

mftrace.log

2320,3364 15:26:11.84136 COle32ExportDetours::CoCreateInstance @ Created {56FDF344-FD6D-11D0-958A-006097C9A090} Task Bar Communication (C:\Windows\system32\explorerframe.dll) @000001D4BBAEC860 - traced interfaces: 
2320,2FE4 15:26:11.92243 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92244 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92245 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92245 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92246 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92246 CMFTransformDetours::HandleEvent @000001D4E9355460 Met=601 (null), value (empty), 
2320,2FE4 15:26:11.92249 CMFTransformDetours::ProcessInput @000001D4E9355460 Stream ID 0, Sample @000001D4E93FBDC0, Time 0ms, Duration 33ms, Buffers 1, Size 0B, 
2320,2FE4 15:26:11.92251 CMFTransformDetours::ProcessInput @000001D4E9355460 failed hr=0x80070057 ERROR_INVALID_PARAMETER

It looks like the same error code as Sunshine, and the Buffer Size is 0B in both cases.


Update again:

In addition, if the encoder malfunctions, the application will freeze (become unresponsive) when the window is closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

New Feature New feature or plugin Seeking Testers Build artifacts on CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.