1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #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();
- }
|