1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include "aja-card-manager.hpp"
#include <obs-module.h>
#include <ajantv2/includes/ntv2devicescanner.h>
OBS_DECLARE_MODULE()
OBS_MODULE_USE_DEFAULT_LOCALE("aja", "en-US")
MODULE_EXPORT const char *obs_module_description(void)
{
return "aja";
}
extern void register_aja_source_info();
extern void register_aja_output_info();
bool obs_module_load(void)
{
CNTV2DeviceScanner scanner;
auto numDevices = scanner.GetNumDevices();
if (numDevices == 0) {
blog(LOG_WARNING,
"No AJA devices found, skipping loading AJA plugin");
return false;
}
aja::CardManager::Instance().EnumerateCards();
register_aja_source_info();
register_aja_output_info();
return true;
}
void obs_module_post_load(void)
{
struct calldata params = {0};
auto cardManager = &aja::CardManager::Instance();
calldata_set_ptr(¶ms, "card_manager", (void *)cardManager);
auto signal_handler = obs_get_signal_handler();
signal_handler_signal(signal_handler, "aja_loaded", ¶ms);
calldata_free(¶ms);
}
void obs_module_unload(void)
{
aja::CardManager::Instance().ClearCardEntries();
}
|