| 248 | } |
| 249 | |
| 250 | static void register_plugin_features() |
| 251 | { |
| 252 | obs_log(LOG_DEBUG, "+register_plugin_features()"); |
| 253 | |
| 254 | if (plugin_features_registered) { |
| 255 | obs_log(LOG_DEBUG, "register_plugin_features: already registered"); |
| 256 | return; |
| 257 | } |
| 258 | |
| 259 | // The plugin features below require the NDI library. They must be registered only if the NDI library is successfully loaded and initialized. |
| 260 | ndi_source_info = create_ndi_source_info(); |
| 261 | obs_register_source(&ndi_source_info); |
| 262 | |
| 263 | ndi_output_info = create_ndi_output_info(); |
| 264 | obs_register_output(&ndi_output_info); |
| 265 | |
| 266 | ndi_filter_info = create_ndi_filter_info(); |
| 267 | obs_register_source(&ndi_filter_info); |
| 268 | |
| 269 | ndi_audiofilter_info = create_ndi_audiofilter_info(); |
| 270 | obs_register_source(&ndi_audiofilter_info); |
| 271 | |
| 272 | obs_log(LOG_DEBUG, "Plugin features registered: NDI source, NDI output, NDI filter, NDI audio filter"); |
| 273 | |
| 274 | // The plugin features below do not require the NDI library. They can still be registered even if the NDI library fails to load or initialize. We do not leverage this split loading yet. |
| 275 | alpha_filter_info = create_alpha_filter_info(); |
| 276 | obs_register_source(&alpha_filter_info); |
| 277 | |
| 278 | obs_log(LOG_DEBUG, "Plugin features registered: Alpha filter"); |
| 279 | |
| 280 | plugin_features_registered = true; |
| 281 | obs_log(LOG_INFO, "register_plugin_features: NDI plugin features registered"); |
| 282 | obs_log(LOG_DEBUG, "-register_plugin_features()"); |
| 283 | } |
| 284 | |
| 285 | bool obs_module_load(void) |
| 286 | { |
no test coverage detected