ATEM integration

Anyone have ideas on how to get ATEM mixer integration working/stable? I saw a couple old github threads that look like they haven’t been worked on in a while.

Here are the relevant threads on github:

I still have the issue, although it worked for a while at first. Is there some decklink and ATEM version combination that is known to work good with CasparCG Client?

I’ve started to look into this… no fix yet. Which switcher do you have and which version of the ATEM software are you using?

I am running 6.9 firmware on the original ATEM 1 M/E. I do have the compile development environment set up now, so I will be poking around looking for the problem. Right now it looks like some QList is being accessed out of bounds and there are some problems with invalid indexes in accessing some sql stuff. I am thinking some setting is different and is causing problems with writing the database. The Qt Creator debug output is posted in one of those github threads.

Ok, I’m pretty sure all that is needed is an upgrade to a newer version on the libqatemcontrol library. I just need to get the dev enviroment up and running so that I can do a test build.

The easiest way to get the client compile enviroment set up is to use the Qt unified installer and select the QT 5.4 version and mingw compilier options. Other installers require you to manually set up the build kit. Be sure to add multi threaded optimizations to the make options to reduce the compile time. I used -j20, but I do have a 16 core 32 thread CPU. Too high of thread count can cause make to do things out of order and fail, so don’t peg the cpu usage.

It looks like you changed how the downstream keyer functions are called.

I can confirm that fixes the problem with the client crashing with a defined mixer. Lines 43, 44, and 107 of AtemDevice.cpp need updated to work with the new downstream key API.

Fixed with pull request #251 for both branches on github. Someone needs to update the qatemcontrol libraries for linux and mac, but I got it fixed for windows.

Here are a couple of builds I put together for windows. These were forked from the latest commits on each branch.

Here is a build with the included fix.

Master Branch 2.0.8 (current)

Next Branch 2.0.9

Sweet… Then I procrastinate a bit longer before I get the dev environment working :slight_smile: