obs-studio/plugins/aja/aja-widget-io.hpp
Paul Hindt ce3ae8e423
aja: Capture and Output plugin for AJA Video Systems IO devices
* aja: Initial commit of AJA capture/output plugin

* aja: Fix clang-format on aja-output-ui code

* aja: Remove script used during dev/testing

* aja: Address pull request feedback from @RytoEX

* aja: Remove the SDK sources and update CMakeLists to point to new headers-only/static libs dependency distribution.

* aja: Only build AJA plugin on x64 on macOS for now

* aja: Remove the non-English placeholder locale files. The english strings/files will be produced via crowdin, according to @ddrboxman.

* aja: Add FindLibAJANTV2.cmake script to locate the ajantv2 headers and static libs in the OBS external deps package(s). Tested on Windows x64. macOS and Linux x64 TBD.

* aja: Add ajantv2/includes to FindLibAJANTV2 include search paths

* aja: Remove commented code from aja CMakeLists

* aja: Remove debug code and comments that are no longer needed.

* aja: Fix indentation

* aja: Remove disablement of clang-format in routing table and SDIWireFormat map

* aja: Use spaces for all indentation in widget crosspoint arrays where we disable clang-format

* aja: Address code style comments made by @RytoEX

* aja: Fix uneven indentation

* aja: More fixes to if/else placement and remove superfluous comments.

* aja: Rename 'dwns' to 'deactivateWhileNotShowing' for clarity. The DeckLink plugin still uses the variable name 'dwns' and should be changed, if desired, in a separate PR.

* aja: Remove X11Extras dependency from AJA Output frontend plugin

* aja: Add patch from Jim to find AJA release/debug libs

* aja: Improve AV sync of queued video/audio sent to the AJA card in the AJA Output plugin.
2021-11-23 20:31:11 -06:00

43 lines
1.2 KiB
C++

#pragma once
#include <ajantv2/includes/ntv2enums.h>
#include <string>
using OutputXpt = NTV2OutputCrosspointID; // src
using InputXpt = NTV2InputCrosspointID; // dest
// Firmware widget input socket connector
struct WidgetInputSocket {
InputXpt id;
NTV2WidgetID widget_id;
NTV2Channel channel;
const char *name;
int32_t datastream_index;
static bool Find(const std::string &route, NTV2Channel channel,
int32_t datastream, WidgetInputSocket &inp);
static bool GetWidgetInputSocketByXpt(InputXpt id,
WidgetInputSocket &inp);
static int32_t InputXptDatastreamIndex(InputXpt xpt);
static NTV2Channel InputXptChannel(InputXpt xpt);
static const char *InputXptName(InputXpt xpt);
};
// Firmware widget output socket connector
struct WidgetOutputSocket {
OutputXpt id;
NTV2WidgetID widget_id;
NTV2Channel channel;
const char *name;
int32_t datastream_index;
static bool Find(const std::string &route, NTV2Channel channel,
int32_t datastream, WidgetOutputSocket &out);
static bool GetWidgetOutputSocketByXpt(OutputXpt id,
WidgetOutputSocket &out);
static int32_t OutputXptDatastreamIndex(OutputXpt xpt);
static NTV2Channel OutputXptChannel(OutputXpt xpt);
static const char *OutputXptName(OutputXpt xpt);
};