How to Set HardwareDecodingMode for a Specific ViewItem

We are currently encountering the following scenario during development:

  • The camera is configured to use H.264 encoding
  • The resolution is set to 6912 x 2624
  • Under this configuration, the camera stream fails to display correctly

While searching for a solution, I found a related discussion on the Milestone Developer Forum: GPU Questions - Milestone Developer Forum

Based on that post, I added the following line of code before calling

BitmapLiveSource Init

:

EnvironmentManager.Instance.EnvironmentOptions[EnvironmentOptions.HardwareDecodingMode] = “off”;

After doing this, the camera stream was able to display successfully.

When adding two ViewItems, I ran into a limitation:

The setting `EnvironmentManager.Instance.EnvironmentOptions[EnvironmentOptions.HardwareDecodingMode]` appears to be global. I am unable to assign different decoding modes for individual ViewItems

For example, I would like to:

  • Use HardwareDecodingMode = off for ViewItem A
  • Use HardwareDecodingMode = auto for ViewItem B

But this does not seem possible with the current API.

Is there a way to configure HardwareDecodingMode per ViewItem, rather than globally?

If this is not currently supported, are there any alternative approaches or planned features that could help address this use case?

You are correct, the option is global. You cannot set one HardwareDecodingMode for one class, and another mode for another class. So unfortunately, no.