Closed laurensvane closed 1 year ago
Yeah this is a known issue with the constellation hd range. They are resending all the multiviewer windows on every frame, resulting in the flood you see here. I have previously confirmed that it is not this library at fault, and the atem is sending this data to the library every frame.
This library isnt doing any diffing when receiving changes from the atem, we are trusting it to be sensible.
I was hoping blackmagic would have released a fix by now as this was first reported to them in April when these models first shipped..
I thought it would a an Atem issue, but couldn't find any indication it was. I also reported this issue to Blackmagic Support, hopefully this will help. Our Atem also stops responding when we have some disconnects from clients close after each other, i think because the atem needs to send a lot of data to the connections which are closed but not already timed out.
Has there been any luck with this bug? There's been at least one firmware update but it doesn't seem to stop spitting out MV change.
@rohanwright only the 4ME has had a firmware update, the 2ME and 1ME still only have the firmware they shipped with.
For Companion this bug is being worked around by wrapping any updates to the multiviewer windows in a debounce, to limit how often it is processed. Its not perfect, but it avoids this being a large performance drain until it is fixed (if they ever do)
Yeah ok, we have a 4ME but it didn't solve anything. I emailed the Blackmagic team and they said they are aware of the issue but are still working on it. Hopefully they figure something out soon.
Blackmagic still haven't fixed this bug, but I have finally gotten around to a proper mitigation in this library. When the library receives that specific command, it will check if applying it to the state will change anything, instead of blindly applying and reporting there was a change.
This will be included in the next release (v3.3.0) when that is made
First of all, Julian thank you for the fix. From my head of master github build of companion, things do seem a ton better.
One other thing, BMD has release 9.2.1 firmware for the 1ME/2ME/4ME HD on Thursday (2023-08-21). The last update to the 2ME HD was 8.7 in April/May 2022. It's possible from early packet captures that they may have fixed the bug.
Yes, it appears in a quick test that the 9.2.1 firmware resolves this bug.
Also updated one of my atem constellations HD 2ME here, and i can't reproduce the behavour i described. So it seems like this bug has been fixed.
I'm submitting a ... [x] bug report [ ] feature request [ ] question about the decisions made in the repository [ ] question about how to use this project
Summary Not sure if an issue of this module, or in the Atem itself, but when i set the multiviewer layouts to be not the same on an Atem 2m/e constellation HD the node.js script gets flooded with State Change events.
Other information Not sure if the atem is actually flooding the client with this data, or this software is incorrectly triggering statechanged events because it thinks something changed.
Occurs when the properties.layout number of both multiviewers is not the same
Stops when i change both multiviewers to be the same layout
Starts again when they become different layout
contents off the StateChanged is: [ 'settings.multiViewers.0.windows.0', 'settings.multiViewers.0.windows.1', 'settings.multiViewers.0.windows.2', 'settings.multiViewers.0.windows.3', 'settings.multiViewers.0.windows.4', 'settings.multiViewers.0.windows.5', 'settings.multiViewers.0.windows.6', 'settings.multiViewers.0.windows.7', 'settings.multiViewers.0.windows.8', 'settings.multiViewers.0.windows.9', 'settings.multiViewers.0.windows.10', 'settings.multiViewers.0.windows.11', 'settings.multiViewers.0.windows.12', 'settings.multiViewers.0.windows.13', 'settings.multiViewers.0.windows.14', 'settings.multiViewers.0.windows.15', 'settings.multiViewers.1.windows.0', 'settings.multiViewers.1.windows.1', 'settings.multiViewers.1.windows.2', 'settings.multiViewers.1.windows.3', 'settings.multiViewers.1.windows.4', 'settings.multiViewers.1.windows.5', 'settings.multiViewers.1.windows.6', 'settings.multiViewers.1.windows.7', 'settings.multiViewers.1.windows.8', 'settings.multiViewers.1.windows.9', 'settings.multiViewers.1.windows.10', 'settings.multiViewers.1.windows.11', 'settings.multiViewers.1.windows.12', 'settings.multiViewers.1.windows.13', 'settings.multiViewers.1.windows.14', 'settings.multiViewers.1.windows.15' ]
can't discover any differences in data of these object in the settings object.
Constellation is running software version 8.7
atem-connection module version 3.1.2 but also seen on 3.1.0