From 9febb69c322c9fcdf52805aa6dc9888c893a073d Mon Sep 17 00:00:00 2001 From: Patrick Boutot Date: Fri, 16 Aug 2019 10:35:20 -0400 Subject: [PATCH] Initial push of AJAMedia plugin for 4.23. SDK ntv2sdkwin_15.2.0.4 --- AjaMedia.uplugin | 56 ++ Binaries/ThirdParty/Win64/AJA.dll | Bin 0 -> 2115584 bytes Binaries/ThirdParty/Win64/AJA.lib | Bin 0 -> 40826 bytes Config/BaseAjaMedia.ini | 6 + Content/Editor/Icons/AjaMediaOutput_20x.png | Bin 0 -> 872 bytes Content/Editor/Icons/AjaMediaOutput_64x.png | Bin 0 -> 3326 bytes Content/Editor/Icons/AjaMediaSource_20x.png | Bin 0 -> 799 bytes Content/Editor/Icons/AjaMediaSource_64x.png | Bin 0 -> 2854 bytes LICENSE | 21 + Resources/Icon128.png | Bin 0 -> 3718 bytes Source/AjaMedia/AjaMedia.Build.cs | 53 ++ Source/AjaMedia/Private/Aja/Aja.cpp | 132 +++ Source/AjaMedia/Private/Aja/Aja.h | 36 + .../Private/Aja/AjaDeviceProvider.cpp | 740 +++++++++++++++++ Source/AjaMedia/Private/AjaMediaModule.cpp | 70 ++ Source/AjaMedia/Private/AjaMediaPrivate.h | 42 + .../Private/Assets/AjaCustomTimeStep.cpp | 313 +++++++ .../Private/Assets/AjaMediaSettings.cpp | 6 + .../Private/Assets/AjaMediaSource.cpp | 289 +++++++ .../Private/Assets/AjaTimecodeProvider.cpp | 243 ++++++ .../Private/Player/AjaMediaAudioSample.h | 38 + .../Private/Player/AjaMediaBinarySample.h | 13 + .../Private/Player/AjaMediaPlayer.cpp | 768 ++++++++++++++++++ .../AjaMedia/Private/Player/AjaMediaPlayer.h | 153 ++++ .../Private/Player/AjaMediaTextureSample.h | 116 +++ .../Shared/AjaMediaAllowPlatformTypes.h | 22 + .../Shared/AjaMediaHidePlatformTypes.h | 18 + Source/AjaMedia/Public/AjaCustomTimeStep.h | 101 +++ Source/AjaMedia/Public/AjaDeviceProvider.h | 112 +++ Source/AjaMedia/Public/AjaMediaSettings.h | 16 + Source/AjaMedia/Public/AjaMediaSource.h | 138 ++++ Source/AjaMedia/Public/AjaTimecodeProvider.h | 91 +++ Source/AjaMedia/Public/IAjaMediaModule.h | 31 + Source/AjaMediaEditor/AjaMediaEditor.Build.cs | 37 + .../Private/AjaMediaEditorModule.cpp | 106 +++ ...ediaTimecodeConfigurationCustomization.cpp | 146 ++++ ...aMediaTimecodeConfigurationCustomization.h | 27 + ...AjaMediaTimecodeReferenceCustomization.cpp | 131 +++ .../AjaMediaTimecodeReferenceCustomization.h | 27 + .../Factories/AjaMediaOutputFactoryNew.cpp | 39 + .../Factories/AjaMediaOutputFactoryNew.h | 22 + .../Factories/AjaMediaSourceFactoryNew.cpp | 39 + .../Factories/AjaMediaSourceFactoryNew.h | 25 + .../AjaMediaFactory/AjaMediaFactory.Build.cs | 43 + .../Private/AjaMediaFactoryModule.cpp | 134 +++ Source/AjaMediaOutput/AjaMediaOutput.Build.cs | 44 + .../Private/AjaMediaCapture.cpp | 521 ++++++++++++ .../Private/AjaMediaFrameGrabberProtocol.cpp | 79 ++ .../AjaMediaOutput/Private/AjaMediaOutput.cpp | 279 +++++++ .../Private/AjaMediaOutputModule.cpp | 18 + .../AjaMediaOutput/Public/AjaMediaCapture.h | 75 ++ .../Public/AjaMediaFrameGrabberProtocol.h | 48 ++ Source/AjaMediaOutput/Public/AjaMediaOutput.h | 108 +++ .../Public/IAjaMediaOutputModule.h | 41 + Source/ThirdParty/Build/AJA.Build.cs | 47 ++ Source/ThirdParty/Build/include/AJALib.h | 473 +++++++++++ 56 files changed, 6133 insertions(+) create mode 100644 AjaMedia.uplugin create mode 100644 Binaries/ThirdParty/Win64/AJA.dll create mode 100644 Binaries/ThirdParty/Win64/AJA.lib create mode 100644 Config/BaseAjaMedia.ini create mode 100644 Content/Editor/Icons/AjaMediaOutput_20x.png create mode 100644 Content/Editor/Icons/AjaMediaOutput_64x.png create mode 100644 Content/Editor/Icons/AjaMediaSource_20x.png create mode 100644 Content/Editor/Icons/AjaMediaSource_64x.png create mode 100644 LICENSE create mode 100644 Resources/Icon128.png create mode 100644 Source/AjaMedia/AjaMedia.Build.cs create mode 100644 Source/AjaMedia/Private/Aja/Aja.cpp create mode 100644 Source/AjaMedia/Private/Aja/Aja.h create mode 100644 Source/AjaMedia/Private/Aja/AjaDeviceProvider.cpp create mode 100644 Source/AjaMedia/Private/AjaMediaModule.cpp create mode 100644 Source/AjaMedia/Private/AjaMediaPrivate.h create mode 100644 Source/AjaMedia/Private/Assets/AjaCustomTimeStep.cpp create mode 100644 Source/AjaMedia/Private/Assets/AjaMediaSettings.cpp create mode 100644 Source/AjaMedia/Private/Assets/AjaMediaSource.cpp create mode 100644 Source/AjaMedia/Private/Assets/AjaTimecodeProvider.cpp create mode 100644 Source/AjaMedia/Private/Player/AjaMediaAudioSample.h create mode 100644 Source/AjaMedia/Private/Player/AjaMediaBinarySample.h create mode 100644 Source/AjaMedia/Private/Player/AjaMediaPlayer.cpp create mode 100644 Source/AjaMedia/Private/Player/AjaMediaPlayer.h create mode 100644 Source/AjaMedia/Private/Player/AjaMediaTextureSample.h create mode 100644 Source/AjaMedia/Private/Shared/AjaMediaAllowPlatformTypes.h create mode 100644 Source/AjaMedia/Private/Shared/AjaMediaHidePlatformTypes.h create mode 100644 Source/AjaMedia/Public/AjaCustomTimeStep.h create mode 100644 Source/AjaMedia/Public/AjaDeviceProvider.h create mode 100644 Source/AjaMedia/Public/AjaMediaSettings.h create mode 100644 Source/AjaMedia/Public/AjaMediaSource.h create mode 100644 Source/AjaMedia/Public/AjaTimecodeProvider.h create mode 100644 Source/AjaMedia/Public/IAjaMediaModule.h create mode 100644 Source/AjaMediaEditor/AjaMediaEditor.Build.cs create mode 100644 Source/AjaMediaEditor/Private/AjaMediaEditorModule.cpp create mode 100644 Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.cpp create mode 100644 Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.h create mode 100644 Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.cpp create mode 100644 Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.h create mode 100644 Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.cpp create mode 100644 Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.h create mode 100644 Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.cpp create mode 100644 Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.h create mode 100644 Source/AjaMediaFactory/AjaMediaFactory.Build.cs create mode 100644 Source/AjaMediaFactory/Private/AjaMediaFactoryModule.cpp create mode 100644 Source/AjaMediaOutput/AjaMediaOutput.Build.cs create mode 100644 Source/AjaMediaOutput/Private/AjaMediaCapture.cpp create mode 100644 Source/AjaMediaOutput/Private/AjaMediaFrameGrabberProtocol.cpp create mode 100644 Source/AjaMediaOutput/Private/AjaMediaOutput.cpp create mode 100644 Source/AjaMediaOutput/Private/AjaMediaOutputModule.cpp create mode 100644 Source/AjaMediaOutput/Public/AjaMediaCapture.h create mode 100644 Source/AjaMediaOutput/Public/AjaMediaFrameGrabberProtocol.h create mode 100644 Source/AjaMediaOutput/Public/AjaMediaOutput.h create mode 100644 Source/AjaMediaOutput/Public/IAjaMediaOutputModule.h create mode 100644 Source/ThirdParty/Build/AJA.Build.cs create mode 100644 Source/ThirdParty/Build/include/AJALib.h diff --git a/AjaMedia.uplugin b/AjaMedia.uplugin new file mode 100644 index 0000000..07cbdc2 --- /dev/null +++ b/AjaMedia.uplugin @@ -0,0 +1,56 @@ +{ + "FileVersion" : 3, + + "FriendlyName" : "AJA Media Player", + "Version" : 2, + "VersionName" : "2.0", + "CreatedBy" : "Epic Games Inc", + "CreatedByURL" : "http://epicgames.com", + "MarketplaceURL" : "com.epicgames.launcher://ue/marketplace/content/91088fb17fb04b6b9eda41aaf8fda21e", + "Description" : "Implements input and output using AJA Capture cards.", + "Category" : "Media Players", + "CanContainContent" : true, + "EnabledByDefault" : false, + "IsBetaVersion": false, + + "Modules" : + [ + { + "Name" : "AjaMedia", + "Type" : "Runtime", + "LoadingPhase" : "Default", + "WhitelistPlatforms" : [ "Win64" ] + }, + { + "Name": "AjaMediaOutput", + "Type" : "Runtime", + "LoadingPhase" : "Default", + "WhitelistPlatforms" : [ "Win64" ] + }, + { + "Name" : "AjaMediaFactory", + "Type" : "Editor", + "LoadingPhase" : "PostEngineInit", + "WhitelistPlatforms" : [ "Win64" ] + }, + { + "Name" : "AjaMediaFactory", + "Type": "RuntimeNoCommandlet", + "LoadingPhase" : "PostEngineInit", + "WhitelistPlatforms" : [ "Win64" ] + }, + { + "Name" : "AjaMediaEditor", + "Type" : "Editor", + "LoadingPhase" : "PostEngineInit", + "WhitelistPlatforms" : [ "Win64" ] + } + ], + "Plugins" : + [ + { + "Name" : "MediaIOFramework", + "Enabled" : true + } + ] +} diff --git a/Binaries/ThirdParty/Win64/AJA.dll b/Binaries/ThirdParty/Win64/AJA.dll new file mode 100644 index 0000000000000000000000000000000000000000..9b0bfe05c31131d06cd430b3134be927bfa27a3e GIT binary patch literal 2115584 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
Y`di5R*A^peeI;FGkwi1mZ95zBehB@* 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 ~Zap#_@Qt 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

!Muj50X1>ge+S^sTS@>o8y~(=IIHQcY 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�bhXYaKOdILH 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 z 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 z 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

Wm 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Ν%>o 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 z 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 VwrEgdeZ^OQIO#%SpEDYc{{isS@tgnv literal 0 HcmV?d00001 diff --git a/Config/BaseAjaMedia.ini b/Config/BaseAjaMedia.ini new file mode 100644 index 0000000..ff86182 --- /dev/null +++ b/Config/BaseAjaMedia.ini @@ -0,0 +1,6 @@ +[CoreRedirects] + +; 4.22 ++EnumRedirects=(OldName="EAjaMediaOutputPixelFormat", ValueChanges=(("PF_8BIT_ARGB", "PF_8BIT_YUV"), ("PF_10BIT_RGB", "PF_10BIT_YUV"))) ++EnumRedirects=(OldName="EAjaMediaSourceColorFormat", ValueChanges=(("BGRA", "YUV2_8bit"), ("BGR10", "YUV_10bit"))) + diff --git a/Content/Editor/Icons/AjaMediaOutput_20x.png b/Content/Editor/Icons/AjaMediaOutput_20x.png new file mode 100644 index 0000000000000000000000000000000000000000..6db4fc44a44f4def8173e4a1aae7c6b8fc2163d6 GIT binary patch literal 872 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 IM6N<$g6G&dBLDyZ literal 0 HcmV?d00001 diff --git a/Content/Editor/Icons/AjaMediaSource_20x.png b/Content/Editor/Icons/AjaMediaSource_20x.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1b05c87eeb00ee5de083d59bc69dbe3029b8cf GIT binary patch literal 799 zcmV+)1K|9LP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02y>eSaefwW^{L9 za%BK;VQFr3E^cLXAT%y8E;2FkAZe8V00NImL_t(IPh%hjbaZs&)YjHoLb(iOWo3Cl zehrjMIv=@jcZQZ(cQdL!zBvd(JP*PIzCO$s?KhTB$ z3kwVX12z8#di#G(P0jyl)296gTKK=bygV4HoG^%vj()+y!t$Sqi3yH5IXV9e2?_o0 z>+Ac!YSpU$Kud`?Fe)nQF_8KX!i-c z|H8t;{{;jD{wF0Rfg{S@-MtK|oFHKI@bIYj_Vzv&5D;)FI5_xjSXkIIU@*Lki;MdV zH1InR|Fp8QN`a~;8ZZJeC^54FF((l7b8~Zx^Yim7h=_=&Ld9qVLRbA~=3j7Y63gtH zpX8U_DS!%t0mqyhMIsAt?}c(1bXMQhGKS_R*No5w+H!Fji3x#rz`$2Rv?8T0Jx3%TdrILR>a z7CTrW1pH?Nx+;%l_VtgFOYUsfUVX1bWZ^9z##z_jGeZr98@S-6G~?_WH-Ij?40ON( z`^}GZ*yr9j$T<7vHir54IY7Q-V3>JDj&b(&UWPeW4Z-F^fyC0=q0F;yc8IUIqr)}- z<|cs!H&?OEy`IOr;AT_du}6r&pL3m;apv_7?gcl(@{hcLmzB7|%>S&~EAHtt%sc~% d*&z=Y7yv&p9k?f}>RJE*002ovPDHLkV1kf-Xkq{W literal 0 HcmV?d00001 diff --git a/Content/Editor/Icons/AjaMediaSource_64x.png b/Content/Editor/Icons/AjaMediaSource_64x.png new file mode 100644 index 0000000000000000000000000000000000000000..9426e5034cfabcb15900112ec95a22d54ee2050a GIT binary patch literal 2854 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 literal 0 HcmV?d00001 diff --git a/Source/AjaMedia/AjaMedia.Build.cs b/Source/AjaMedia/AjaMedia.Build.cs new file mode 100644 index 0000000..5b1b863 --- /dev/null +++ b/Source/AjaMedia/AjaMedia.Build.cs @@ -0,0 +1,53 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +using System.IO; + +namespace UnrealBuildTool.Rules +{ + using System.IO; + + public class AjaMedia : ModuleRules + { + public AjaMedia(ReadOnlyTargetRules Target) : base(Target) + { + PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; + + DynamicallyLoadedModuleNames.AddRange( + new string[] { + "Media", + }); + + PrivateDependencyModuleNames.AddRange( + new string[] { + "AJA", + "Core", + "CoreUObject", + "Engine", + "MediaIOCore", + "MediaUtils", + "Projects", + "TimeManagement", + "UtilityShaders" + }); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "Media", + }); + + PrivateIncludePaths.AddRange( + new string[] { + "AjaMedia/Private", + "AjaMedia/Private/Aja", + "AjaMedia/Private/Assets", + "AjaMedia/Private/Player", + "AjaMedia/Private/Shared", + }); + + PublicDependencyModuleNames.AddRange( + new string[] { + "MediaAssets", + }); + } + } +} diff --git a/Source/AjaMedia/Private/Aja/Aja.cpp b/Source/AjaMedia/Private/Aja/Aja.cpp new file mode 100644 index 0000000..0f4a286 --- /dev/null +++ b/Source/AjaMedia/Private/Aja/Aja.cpp @@ -0,0 +1,132 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "Aja.h" +#include "AjaMediaPrivate.h" + +#include "Misc/FrameRate.h" +#include "Interfaces/IPluginManager.h" +#include "HAL/PlatformProcess.h" +#include "Misc/Paths.h" + + //~ Static initialization + //-------------------------------------------------------------------- +void* FAja::LibHandle = nullptr; +bool FAja::bCanForceAJAUsage = false; + +//~ Initialization functions implementation +//-------------------------------------------------------------------- +bool FAja::Initialize() +{ +#if AJAMEDIA_DLL_PLATFORM + check(LibHandle == nullptr); + +#if AJAMEDIA_DLL_DEBUG + const FString AjaDll = TEXT("AJAd.dll"); +#else + const FString AjaDll = TEXT("AJA.dll"); +#endif //AJAMEDIA_DLL_DEBUG + + // determine directory paths + FString AjaDllPath = FPaths::Combine(IPluginManager::Get().FindPlugin(TEXT("AjaMedia"))->GetBaseDir(), TEXT("/Binaries/ThirdParty/Win64")); + FPlatformProcess::PushDllDirectory(*AjaDllPath); + AjaDllPath = FPaths::Combine(AjaDllPath, AjaDll); + + if (!FPaths::FileExists(AjaDllPath)) + { + UE_LOG(LogAjaMedia, Error, TEXT("Failed to find the binary folder for the AJA dll. Plug-in will not be functional.")); + return false; + } + + LibHandle = FPlatformProcess::GetDllHandle(*AjaDllPath); + + if (LibHandle == nullptr) + { + UE_LOG(LogAjaMedia, Error, TEXT("Failed to load required library %s. Plug-in will not be functional."), *AjaDllPath); + return false; + } + + //Check if command line argument to force AJA card usage is there + bCanForceAJAUsage = FParse::Param(FCommandLine::Get(), TEXT("forceajausage")); + +#if !NO_LOGGING + AJA::SetLoggingCallbacks(&LogInfo, &LogWarning, &LogError); +#endif // !NO_LOGGING + return true; +#else + return false; +#endif // AJAMEDIA_DLL_PLATFORM +} + +bool FAja::IsInitialized() +{ + return (LibHandle != nullptr); +} + +void FAja::Shutdown() +{ +#if AJAMEDIA_DLL_PLATFORM + if (LibHandle != nullptr) + { +#if !NO_LOGGING + AJA::SetLoggingCallbacks(nullptr, nullptr, nullptr); +#endif // !NO_LOGGING + FPlatformProcess::FreeDllHandle(LibHandle); + LibHandle = nullptr; + } +#endif // AJAMEDIA_DLL_PLATFORM +} + +//~ Conversion functions implementation +//-------------------------------------------------------------------- + +FTimecode FAja::ConvertAJATimecode2Timecode(const AJA::FTimecode& InTimecode, const FFrameRate& InFPS) +{ + return FTimecode(InTimecode.Hours, InTimecode.Minutes, InTimecode.Seconds, InTimecode.Frames, FTimecode::IsDropFormatTimecodeSupported(InFPS)); +} + +//~ Log functions implementation +//-------------------------------------------------------------------- +void FAja::LogInfo(const TCHAR* InFormat, ...) +{ +#if !NO_LOGGING + TCHAR TempString[1024]; + va_list Args; + + va_start(Args, InFormat ); + FCString::GetVarArgs(TempString, ARRAY_COUNT(TempString), InFormat, Args); + va_end(Args); + + UE_LOG(LogAjaMedia, Log, TempString); +#endif // !NO_LOGGING +} + +void FAja::LogWarning(const TCHAR* InFormat, ...) +{ +#if !NO_LOGGING + TCHAR TempString[1024]; + va_list Args; + + va_start(Args, InFormat ); + FCString::GetVarArgs(TempString, ARRAY_COUNT(TempString), InFormat, Args); + va_end(Args); + + UE_LOG(LogAjaMedia, Warning, TempString); +#endif // !NO_LOGGING +} + +void FAja::LogError(const TCHAR* InFormat, ...) +{ +#if !NO_LOGGING + TCHAR TempString[1024]; + va_list Args; + + va_start(Args, InFormat ); + FCString::GetVarArgs(TempString, ARRAY_COUNT(TempString), InFormat, Args); + va_end(Args); + + UE_LOG(LogAjaMedia, Error, TempString); +#endif // !NO_LOGGING +} + + + diff --git a/Source/AjaMedia/Private/Aja/Aja.h b/Source/AjaMedia/Private/Aja/Aja.h new file mode 100644 index 0000000..2896603 --- /dev/null +++ b/Source/AjaMedia/Private/Aja/Aja.h @@ -0,0 +1,36 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreTypes.h" +#include "Misc/App.h" +#include "Misc/Timecode.h" +#include "Misc/Timespan.h" + +namespace AJA +{ + struct FTimecode; +} +struct FFrameRate; + +class FAja +{ +public: + static bool Initialize(); + static bool IsInitialized(); + static void Shutdown(); + + // Helpers + static FTimecode ConvertAJATimecode2Timecode(const AJA::FTimecode& InTimecode, const FFrameRate& InFPS); + + static bool CanUseAJACard() { return (FApp::CanEverRender() || bCanForceAJAUsage); } + +private: + static void LogInfo(const TCHAR* InFormat, ...); + static void LogWarning(const TCHAR* InFormat, ...); + static void LogError(const TCHAR* InFormat, ...); + +private: + static void* LibHandle; + static bool bCanForceAJAUsage; +}; diff --git a/Source/AjaMedia/Private/Aja/AjaDeviceProvider.cpp b/Source/AjaMedia/Private/Aja/AjaDeviceProvider.cpp new file mode 100644 index 0000000..60b9f79 --- /dev/null +++ b/Source/AjaMedia/Private/Aja/AjaDeviceProvider.cpp @@ -0,0 +1,740 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaDeviceProvider.h" + +#include "Aja.h" +#include "AjaMediaPrivate.h" +#include "CommonFrameRates.h" + + +#define LOCTEXT_NAMESPACE "AjaDeviceProvider" + + +//~ FAjaMediaTimecodeConfiguration implementation +//-------------------------------------------------------------------- +FAjaMediaTimecodeConfiguration::FAjaMediaTimecodeConfiguration() + : TimecodeFormat(EMediaIOTimecodeFormat::LTC) +{ +} + +FAjaMediaTimecodeConfiguration FAjaMediaTimecodeConfiguration::GetDefault() +{ + FAjaMediaTimecodeConfiguration Result; + Result.MediaConfiguration = FAjaDeviceProvider().GetDefaultConfiguration(); + return Result; +} + +bool FAjaMediaTimecodeConfiguration::IsValid() const +{ + return TimecodeFormat != EMediaIOTimecodeFormat::None && MediaConfiguration.IsValid(); +} + +bool FAjaMediaTimecodeConfiguration::operator== (const FAjaMediaTimecodeConfiguration& Other) const +{ + return MediaConfiguration == Other.MediaConfiguration + && TimecodeFormat == Other.TimecodeFormat; +} + +FText FAjaMediaTimecodeConfiguration::ToText() const +{ + if (IsValid()) + { + FText Timecode = LOCTEXT("Invalid", ""); + switch(TimecodeFormat) + { + case EMediaIOTimecodeFormat::LTC: + Timecode = LOCTEXT("LTCLabel", "LTC"); + break; + case EMediaIOTimecodeFormat::VITC: + Timecode = LOCTEXT("VITCLabel", "VITC"); + break; + } + + return FText::Format(LOCTEXT("MediaTimecodeConfigurationRefText", "{0}/{1}") + , FAjaDeviceProvider().ToText(MediaConfiguration) + , Timecode + ); + } + return LOCTEXT("Invalid", ""); +} + +//~ FAjaMediaTimecodeReference implementation +//-------------------------------------------------------------------- +FAjaMediaTimecodeReference::FAjaMediaTimecodeReference() + : LtcIndex(-1) + , LtcFrameRate(30, 1) +{ +} + +FAjaMediaTimecodeReference FAjaMediaTimecodeReference::GetDefault() +{ + FAjaMediaTimecodeReference Reference; + Reference.Device.DeviceIdentifier = 1; + Reference.LtcIndex = 1; + Reference.LtcFrameRate = FFrameRate(30, 1); + return Reference; +} + +bool FAjaMediaTimecodeReference::IsValid() const +{ + return LtcIndex > 0 && Device.IsValid(); +} + +bool FAjaMediaTimecodeReference::operator== (const FAjaMediaTimecodeReference& Other) const +{ + return LtcIndex == Other.LtcIndex + && Device == Other.Device + && LtcFrameRate == Other.LtcFrameRate; +} + +FText FAjaMediaTimecodeReference::ToText() const +{ + if (IsValid()) + { + return FText::Format(LOCTEXT("MediaTimecodeRefText", "Ref[{0}] {1} [device{2}/{3}]") + , FText::AsNumber(LtcIndex) + , FText::FromName(Device.DeviceName) + , FText::AsNumber(Device.DeviceIdentifier) + , LtcFrameRate.ToPrettyText() + ); + } + + return LOCTEXT("Invalid", ""); +} + +//~ AjaDeviceProvider namespace +//-------------------------------------------------------------------- +namespace AjaDeviceProvider +{ + FMediaIOMode ToMediaMode(const AJA::AJAVideoFormats::VideoFormatDescriptor& InDescriptor) + { + FMediaIOMode MediaMode; + MediaMode.Resolution = FIntPoint(InDescriptor.ResolutionWidth, InDescriptor.ResolutionHeight); + MediaMode.Standard = EMediaIOStandardType::Progressive; + if (InDescriptor.bIsInterlacedStandard) + { + MediaMode.Standard = EMediaIOStandardType::Interlaced; + } + else if (InDescriptor.bIsPsfStandard) + { + MediaMode.Standard = EMediaIOStandardType::ProgressiveSegmentedFrame; + } + MediaMode.FrameRate = FFrameRate(InDescriptor.FrameRateNumerator, InDescriptor.FrameRateDenominator); + MediaMode.DeviceModeIdentifier = InDescriptor.VideoFormatIndex; + + if (InDescriptor.bIsInterlacedStandard) + { + MediaMode.FrameRate.Numerator *= 2; + } + + return MediaMode; + } + + bool IsVideoFormatValid(const AJA::AJAVideoFormats::VideoFormatDescriptor& InDescriptor) + { + if (!InDescriptor.bIsValid) + { + return false; + } + if (InDescriptor.bIsSD) + { + return false; + } + if (InDescriptor.bIsVideoFormatB && !InDescriptor.bIs372DualLink) + { + return false; + } + return true; + } +} + +//~ FAjaDeviceProvider implementation +//-------------------------------------------------------------------- +FName FAjaDeviceProvider::GetProviderName() +{ + static FName NAME_Provider = "aja"; + return NAME_Provider; +} + +FName FAjaDeviceProvider::GetProtocolName() +{ + static FName NAME_Protocol = "aja"; // also defined in FAjaMediaFactoryModule + return NAME_Protocol; +} + +FName FAjaDeviceProvider::GetFName() +{ + return GetProviderName(); +} + +bool FAjaDeviceProvider::CanDeviceDoAlpha(const FMediaIODevice& InDevice) const +{ + if (!FAja::IsInitialized() || !InDevice.IsValid() || !FAja::CanUseAJACard()) + { + return false; + } + + AJA::AJADeviceScanner DeviceScanner; + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!DeviceScanner.GetDeviceInfo(InDevice.DeviceIdentifier, DeviceInfo)) + { + return false; + } + + if (!DeviceInfo.bIsSupported) + { + return false; + } + + return DeviceInfo.bCanDoAlpha; +} + +TArray FAjaDeviceProvider::GetConnections() const +{ + TArray Results; + if (!FAja::IsInitialized() || !FAja::CanUseAJACard()) + { + return Results; + } + + AJA::AJADeviceScanner DeviceScanner; + const int32 NumDevices = DeviceScanner.GetNumDevices(); + for (int32 DeviceIndex = 0; DeviceIndex < NumDevices; ++DeviceIndex) + { + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!DeviceScanner.GetDeviceInfo(DeviceIndex, DeviceInfo)) + { + continue; + } + + if (!DeviceInfo.bIsSupported) + { + continue; + } + + TCHAR DeviceNameBuffer[AJA::AJADeviceScanner::FormatedTextSize]; + if (DeviceScanner.GetDeviceTextId(DeviceIndex, DeviceNameBuffer)) + { + FMediaIOConnection Connection; + Connection.Device.DeviceName = DeviceNameBuffer; + Connection.Device.DeviceIdentifier = DeviceIndex; + Connection.Protocol = GetProtocolName(); + + Connection.TransportType = EMediaIOTransportType::SingleLink; + for (int32 Input = 0; Input < DeviceInfo.NumSdiInput; ++Input) + { + Connection.PortIdentifier = Input + 1; + Results.Add(Connection); + } + + Connection.TransportType = EMediaIOTransportType::HDMI; + for (int32 Input = 0; Input < DeviceInfo.NumHdmiInput; ++Input) + { + Connection.PortIdentifier = Input + 1; + Results.Add(Connection); + } + } + } + + return Results; +} + +TArray FAjaDeviceProvider::GetConfigurations() const +{ + return GetConfigurations(true, true); +} + +TArray FAjaDeviceProvider::GetConfigurations(bool bAllowInput, bool bAllowOutput) const +{ + const int32 MaxNumberOfChannel = 8; + + TArray Results; + if (!FAja::IsInitialized() || !FAja::CanUseAJACard()) + { + return Results; + } + + AJA::AJADeviceScanner DeviceScanner; + int32 NumDevices = DeviceScanner.GetNumDevices(); + for (int32 DeviceIndex = 0; DeviceIndex < NumDevices; ++DeviceIndex) + { + TCHAR DeviceNameBuffer[AJA::AJADeviceScanner::FormatedTextSize]; + if (DeviceScanner.GetDeviceTextId(DeviceIndex, DeviceNameBuffer)) + { + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (DeviceScanner.GetDeviceInfo(DeviceIndex, DeviceInfo)) + { + if (DeviceInfo.bIsSupported) + { + const bool bDeviceHasInput = DeviceInfo.NumSdiInput > 0 || DeviceInfo.NumHdmiInput > 0; + if (bAllowInput && !bDeviceHasInput) + { + continue; + } + + const bool bDeviceHasOutput = DeviceInfo.NumSdiOutput > 0 || DeviceInfo.NumHdmiOutput > 0; + if (bAllowOutput && !bDeviceHasOutput) + { + continue; + } + + const int32 SdiInputCount = FMath::Min(DeviceInfo.NumSdiInput, MaxNumberOfChannel); + const int32 SdiOutputCount = FMath::Min(DeviceInfo.NumSdiOutput, MaxNumberOfChannel); + const int32 HdmiInputCount = FMath::Min(DeviceInfo.NumHdmiInput, MaxNumberOfChannel); + const int32 HdmiOutputCount = FMath::Min(DeviceInfo.NumHdmiOutput, MaxNumberOfChannel); + + AJA::AJAVideoFormats FrameFormats(DeviceIndex); + const int32 NumSupportedFormat = FrameFormats.GetNumSupportedFormat(); + + FMediaIOConfiguration MediaConfiguration; + MediaConfiguration.MediaConnection.Device.DeviceIdentifier = DeviceIndex; + MediaConfiguration.MediaConnection.Device.DeviceName = FName(DeviceNameBuffer); + MediaConfiguration.MediaConnection.Protocol = FAjaDeviceProvider::GetProtocolName(); + + for (int32 InputOutputLoop = 0; InputOutputLoop < 2; ++InputOutputLoop) + { + // Build input or output + MediaConfiguration.bIsInput = (InputOutputLoop == 0); + if (!bAllowInput && MediaConfiguration.bIsInput) + { + continue; + } + if (!bAllowOutput && !MediaConfiguration.bIsInput) + { + continue; + } + + const int32 SdiPortCount = MediaConfiguration.bIsInput ? SdiInputCount : SdiOutputCount; + if (SdiPortCount > 0) + { + for (int32 FormatIndex = 0; FormatIndex < NumSupportedFormat; ++FormatIndex) + { + const AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = FrameFormats.GetSupportedFormat(FormatIndex); + if (!AjaDeviceProvider::IsVideoFormatValid(Descriptor)) + { + continue; + } + + MediaConfiguration.MediaMode = AjaDeviceProvider::ToMediaMode(Descriptor); + MediaConfiguration.MediaConnection.QuadTransportType = EMediaIOQuadLinkTransportType::SquareDivision; + + const bool bRequiredMoreThan3G = Descriptor.bIs4K || Descriptor.bIs2K; + + if (Descriptor.bIs372DualLink && DeviceInfo.bCanDoDualLink) + { + MediaConfiguration.MediaConnection.TransportType = EMediaIOTransportType::DualLink; + for (int32 SourceIndex = 0; SourceIndex < SdiPortCount/2; ++SourceIndex) + { + MediaConfiguration.MediaConnection.PortIdentifier = (SourceIndex*2) + 1; + Results.Add(MediaConfiguration); + } + } + + if (Descriptor.bIs4K && SdiPortCount >= 4 && DeviceInfo.bCanDo4K) + { + MediaConfiguration.MediaConnection.TransportType = EMediaIOTransportType::QuadLink; + for (int32 SourceIndex = 0; SourceIndex < SdiPortCount/4; ++SourceIndex) + { + MediaConfiguration.MediaConnection.QuadTransportType = EMediaIOQuadLinkTransportType::SquareDivision; + MediaConfiguration.MediaConnection.PortIdentifier = (SourceIndex*4) + 1; + Results.Add(MediaConfiguration); + + if (DeviceInfo.bCanDoTSI) + { + MediaConfiguration.MediaConnection.QuadTransportType = EMediaIOQuadLinkTransportType::TwoSampleInterleave; + Results.Add(MediaConfiguration); + } + } + } + + if (!Descriptor.bIsVideoFormatB) + { + if ((DeviceInfo.bCanDo12GRouting && bRequiredMoreThan3G) || !bRequiredMoreThan3G) + { + MediaConfiguration.MediaConnection.TransportType = EMediaIOTransportType::SingleLink; + for (int32 SourceIndex = 0; SourceIndex < SdiPortCount; ++SourceIndex) + { + MediaConfiguration.MediaConnection.PortIdentifier = SourceIndex + 1; + Results.Add(MediaConfiguration); + } + } + else if (DeviceInfo.bCanDo12GSdi && bRequiredMoreThan3G && MediaConfiguration.bIsInput) + { + MediaConfiguration.MediaConnection.TransportType = EMediaIOTransportType::SingleLink; + // in single TSI, we only support input 1, 3, 5, 7 + // otherwise it will be single-quad + const double MaximalFrameRateForUHD_6G = 30.01; + const int32 Increment = MediaConfiguration.MediaMode.FrameRate.AsDecimal() > MaximalFrameRateForUHD_6G ? 4 : 2; + for (int32 SourceIndex = 0; SourceIndex < SdiPortCount/ Increment; ++SourceIndex) + { + MediaConfiguration.MediaConnection.PortIdentifier = (SourceIndex*Increment) + 1; + Results.Add(MediaConfiguration); + } + } + } + } + } + + const int32 HdmiPortCount = MediaConfiguration.bIsInput ? HdmiInputCount : HdmiOutputCount; + if (HdmiPortCount > 0 && MediaConfiguration.bIsInput) // only support HDMI input + { + for (int32 FormatIndex = 0; FormatIndex < NumSupportedFormat; ++FormatIndex) + { + const AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = FrameFormats.GetSupportedFormat(FormatIndex); + if (!AjaDeviceProvider::IsVideoFormatValid(Descriptor)) + { + continue; + } + + if (Descriptor.bIsVideoFormatB) + { + continue; + } + + MediaConfiguration.MediaMode = AjaDeviceProvider::ToMediaMode(Descriptor); + MediaConfiguration.MediaConnection.QuadTransportType = EMediaIOQuadLinkTransportType::SquareDivision; + + MediaConfiguration.MediaConnection.TransportType = EMediaIOTransportType::HDMI; + for (int32 SourceIndex = 0; SourceIndex < HdmiPortCount; ++SourceIndex) + { + MediaConfiguration.MediaConnection.PortIdentifier = SourceIndex + 1; + Results.Add(MediaConfiguration); + } + } + } + } + } + } + } + } + + return Results; +} + +TArray FAjaDeviceProvider::GetInputConfigurations() const +{ + TArray Results; + TArray InputConfigurations = GetConfigurations(true, false); + TArray OtherSources = GetConnections(); + + FMediaIOInputConfiguration DefaultInputConfiguration = GetDefaultInputConfiguration(); + Results.Reset(InputConfigurations.Num() * 2); + + int32 LastDeviceIndex = INDEX_NONE; + bool bCanDoKeyAndFill = false; + + for (const FMediaIOConfiguration& InputConfiguration : InputConfigurations) + { + // Update the Device Info + if (InputConfiguration.MediaConnection.Device.DeviceIdentifier != LastDeviceIndex) + { + LastDeviceIndex = InputConfiguration.MediaConnection.Device.DeviceIdentifier; + bCanDoKeyAndFill = CanDeviceDoAlpha(InputConfiguration.MediaConnection.Device); + } + + DefaultInputConfiguration.MediaConfiguration = InputConfiguration; + + // Build the list for fill + DefaultInputConfiguration.InputType = EMediaIOInputType::Fill; + Results.Add(DefaultInputConfiguration); + + // Add all output port for key + if (bCanDoKeyAndFill) + { + DefaultInputConfiguration.InputType = EMediaIOInputType::FillAndKey; + for (const FMediaIOConnection& InputPort : OtherSources) + { + if (InputPort.Device == InputConfiguration.MediaConnection.Device && InputPort.TransportType == InputConfiguration.MediaConnection.TransportType && InputPort.PortIdentifier != InputConfiguration.MediaConnection.PortIdentifier) + { + if (InputPort.TransportType != EMediaIOTransportType::QuadLink || InputPort.QuadTransportType == InputConfiguration.MediaConnection.QuadTransportType) + { + DefaultInputConfiguration.KeyPortIdentifier = InputPort.PortIdentifier; + Results.Add(DefaultInputConfiguration); + } + } + } + } + } + + return Results; +} + +TArray FAjaDeviceProvider::GetOutputConfigurations() const +{ + TArray Results; + TArray OutputConfigurations = GetConfigurations(false, true); + TArray OtherSources = GetConnections(); + + FMediaIOOutputConfiguration DefaultOutputConfiguration = GetDefaultOutputConfiguration(); + Results.Reset(OutputConfigurations.Num() * 4); + + int32 LastDeviceIndex = INDEX_NONE; + bool bCanDoKeyAndFill = false; + + for (const FMediaIOConfiguration& OutputConfiguration : OutputConfigurations) + { + auto BuildList = [&]() + { + DefaultOutputConfiguration.MediaConfiguration = OutputConfiguration; + + DefaultOutputConfiguration.OutputReference = EMediaIOReferenceType::FreeRun; + Results.Add(DefaultOutputConfiguration); + + DefaultOutputConfiguration.OutputReference = EMediaIOReferenceType::External; + Results.Add(DefaultOutputConfiguration); + + // Add all inputs for reference input + DefaultOutputConfiguration.OutputReference = EMediaIOReferenceType::Input; + for (const FMediaIOConnection& InputPort : OtherSources) + { + if (InputPort.Device == OutputConfiguration.MediaConnection.Device && InputPort.TransportType == OutputConfiguration.MediaConnection.TransportType && InputPort.PortIdentifier != OutputConfiguration.MediaConnection.PortIdentifier) + { + if (InputPort.TransportType != EMediaIOTransportType::QuadLink || InputPort.QuadTransportType == OutputConfiguration.MediaConnection.QuadTransportType) + { + if (DefaultOutputConfiguration.OutputType != EMediaIOOutputType::FillAndKey || !(InputPort.PortIdentifier == DefaultOutputConfiguration.KeyPortIdentifier)) + { + DefaultOutputConfiguration.ReferencePortIdentifier = InputPort.PortIdentifier; + Results.Add(DefaultOutputConfiguration); + } + } + } + } + }; + + // Update the Device Info + if (OutputConfiguration.MediaConnection.Device.DeviceIdentifier != LastDeviceIndex) + { + LastDeviceIndex = OutputConfiguration.MediaConnection.Device.DeviceIdentifier; + bCanDoKeyAndFill = CanDeviceDoAlpha(OutputConfiguration.MediaConnection.Device); + } + + // Build the list for fill only + DefaultOutputConfiguration.OutputType = EMediaIOOutputType::Fill; + BuildList(); + + // Add all output port for key + if (bCanDoKeyAndFill) + { + DefaultOutputConfiguration.OutputType = EMediaIOOutputType::FillAndKey; + for (const FMediaIOConnection& OutputPort : OtherSources) + { + if (OutputPort.Device == OutputConfiguration.MediaConnection.Device && OutputPort.TransportType == OutputConfiguration.MediaConnection.TransportType && OutputPort.PortIdentifier != OutputConfiguration.MediaConnection.PortIdentifier) + { + if (OutputPort.TransportType != EMediaIOTransportType::QuadLink || OutputPort.QuadTransportType == OutputConfiguration.MediaConnection.QuadTransportType) + { + DefaultOutputConfiguration.KeyPortIdentifier = OutputPort.PortIdentifier; + BuildList(); + } + } + } + } + } + + return Results; +} + +TArray FAjaDeviceProvider::GetDevices() const +{ + TArray Results; + if (!FAja::IsInitialized() || !FAja::CanUseAJACard()) + { + return Results; + } + + AJA::AJADeviceScanner DeviceScanner; + int32 NumDevices = DeviceScanner.GetNumDevices(); + for (int32 DeviceIndex = 0; DeviceIndex < NumDevices; ++DeviceIndex) + { + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!DeviceScanner.GetDeviceInfo(DeviceIndex, DeviceInfo)) + { + continue; + } + + if (!DeviceInfo.bIsSupported) + { + continue; + } + + TCHAR DeviceNameBuffer[AJA::AJADeviceScanner::FormatedTextSize]; + if (!DeviceScanner.GetDeviceTextId(DeviceIndex, DeviceNameBuffer)) + { + continue; + } + + FMediaIODevice Device; + Device.DeviceIdentifier = DeviceIndex; + Device.DeviceName = DeviceNameBuffer; + Results.Add(Device); + } + + return Results; +} + +TArray FAjaDeviceProvider::GetModes(const FMediaIODevice& InDevice, bool bInOutput) const +{ + TArray Results; + if (!FAja::IsInitialized() || !InDevice.IsValid() || !FAja::CanUseAJACard()) + { + return Results; + } + + AJA::AJADeviceScanner DeviceScanner; + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!DeviceScanner.GetDeviceInfo(InDevice.DeviceIdentifier, DeviceInfo)) + { + return Results; + } + + if (!DeviceInfo.bIsSupported) + { + return Results; + } + + const bool bDeviceHasInput = DeviceInfo.NumSdiInput > 0 || DeviceInfo.NumHdmiInput > 0; + if (!bInOutput && !bDeviceHasInput) + { + return Results; + } + + const bool bDeviceHasOutput = DeviceInfo.NumSdiOutput > 0; // || DeviceInfo.NumHdmiOutput > 0 we do not support HDMI output, you should use a normal graphic card. + if (bInOutput && !bDeviceHasOutput) + { + return Results; + } + + AJA::AJAVideoFormats FrameFormats(InDevice.DeviceIdentifier); + const int32 NumSupportedFormat = FrameFormats.GetNumSupportedFormat(); + Results.Reserve(NumSupportedFormat); + for (int32 Index = 0; Index < NumSupportedFormat; ++Index) + { + AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = FrameFormats.GetSupportedFormat(Index); + if (!AjaDeviceProvider::IsVideoFormatValid(Descriptor)) + { + continue; + } + Results.Add(AjaDeviceProvider::ToMediaMode(Descriptor)); + } + + return Results; +} + +TArray FAjaDeviceProvider::GetTimecodeConfiguration() const +{ + TArray MediaConfigurations; + bool bHasInputConfiguration = false; + { + TArray InputConfigurations = GetConfigurations(true, false); + + FAjaMediaTimecodeConfiguration DefaultTimecodeConfiguration; + MediaConfigurations.Reset(InputConfigurations.Num() * 2); + for (const FMediaIOConfiguration& InputConfiguration : InputConfigurations) + { + DefaultTimecodeConfiguration.MediaConfiguration = InputConfiguration; + DefaultTimecodeConfiguration.TimecodeFormat = EMediaIOTimecodeFormat::LTC; + MediaConfigurations.Add(DefaultTimecodeConfiguration); + + DefaultTimecodeConfiguration.TimecodeFormat = EMediaIOTimecodeFormat::VITC; + MediaConfigurations.Add(DefaultTimecodeConfiguration); + } + } + return MediaConfigurations; +} + +TArray FAjaDeviceProvider::GetTimecodeReferences() const +{ + TArray Results; + if (!FAja::IsInitialized() || !FAja::CanUseAJACard()) + { + return Results; + } + + const TArrayView AllFrameRates = FCommonFrameRates::GetAll(); + + FAjaMediaTimecodeReference DefaultFAjaMediaTimecodeReference = FAjaMediaTimecodeReference(); + + AJA::AJADeviceScanner DeviceScanner; + int32 NumDevices = DeviceScanner.GetNumDevices(); + for (int32 DeviceIndex = 0; DeviceIndex < NumDevices; ++DeviceIndex) + { + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!DeviceScanner.GetDeviceInfo(DeviceIndex, DeviceInfo)) + { + continue; + } + + if (!DeviceInfo.bIsSupported) + { + continue; + } + + if (DeviceInfo.bCanDoLtcInRefPort && DeviceInfo.NumberOfLtcInput > 0) + { + TCHAR DeviceNameBuffer[AJA::AJADeviceScanner::FormatedTextSize]; + if (!DeviceScanner.GetDeviceTextId(DeviceIndex, DeviceNameBuffer)) + { + continue; + } + + DefaultFAjaMediaTimecodeReference.Device.DeviceIdentifier = DeviceIndex; + DefaultFAjaMediaTimecodeReference.Device.DeviceName = DeviceNameBuffer; + + for (uint32 LtcIndex = 0; LtcIndex < DeviceInfo.NumberOfLtcInput; ++LtcIndex) + { + DefaultFAjaMediaTimecodeReference.LtcIndex = LtcIndex + 1; + + + for (const FCommonFrameRateInfo& FrameRate : AllFrameRates) + { + DefaultFAjaMediaTimecodeReference.LtcFrameRate = FrameRate.FrameRate; + Results.Add(DefaultFAjaMediaTimecodeReference); + } + } + } + } + + return Results; +} + +FMediaIOConfiguration FAjaDeviceProvider::GetDefaultConfiguration() const +{ + FMediaIOConfiguration Result; + Result.bIsInput = true; + Result.MediaConnection.Device.DeviceIdentifier = 0; + Result.MediaConnection.Protocol = GetProtocolName(); + Result.MediaConnection.PortIdentifier = 1; + Result.MediaConnection.TransportType = EMediaIOTransportType::SingleLink; + Result.MediaMode = GetDefaultMode(); + return Result; +} + +FMediaIOMode FAjaDeviceProvider::GetDefaultMode() const +{ + FMediaIOMode Mode; + Mode.DeviceModeIdentifier = AjaMediaOption::DefaultVideoFormat; + Mode.FrameRate = FFrameRate(30, 1); + Mode.Resolution = FIntPoint(1920, 1080); + Mode.Standard = EMediaIOStandardType::Progressive; + return Mode; +} + +FMediaIOInputConfiguration FAjaDeviceProvider::GetDefaultInputConfiguration() const +{ + FMediaIOInputConfiguration Configuration; + Configuration.MediaConfiguration = GetDefaultConfiguration(); + Configuration.MediaConfiguration.bIsInput = true; + Configuration.InputType = EMediaIOInputType::Fill; + return Configuration; +} + +FMediaIOOutputConfiguration FAjaDeviceProvider::GetDefaultOutputConfiguration() const +{ + FMediaIOOutputConfiguration Configuration; + Configuration.MediaConfiguration = GetDefaultConfiguration(); + Configuration.MediaConfiguration.bIsInput = false; + Configuration.OutputReference = EMediaIOReferenceType::FreeRun; + Configuration.OutputType = EMediaIOOutputType::Fill; + return Configuration; +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMedia/Private/AjaMediaModule.cpp b/Source/AjaMedia/Private/AjaMediaModule.cpp new file mode 100644 index 0000000..dafdb02 --- /dev/null +++ b/Source/AjaMedia/Private/AjaMediaModule.cpp @@ -0,0 +1,70 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "IAjaMediaModule.h" + +#include "Aja/Aja.h" +#include "AjaDeviceProvider.h" +#include "AJALib.h" +#include "Player/AjaMediaPlayer.h" + +#include "CoreMinimal.h" +#include "IMediaIOCoreModule.h" +#include "Modules/ModuleManager.h" + +DEFINE_LOG_CATEGORY(LogAjaMedia); + +#define LOCTEXT_NAMESPACE "AjaMediaModule" + +/** + * Implements the AJAMedia module. + */ +class FAjaMediaModule : public IAjaMediaModule +{ +public: + + //~ IAjaMediaModule interface + virtual TSharedPtr CreatePlayer(IMediaEventSink& EventSink) override + { + if (!FAja::IsInitialized()) + { + return nullptr; + } + + return MakeShared(EventSink); + } + + virtual bool IsInitialized() const override { return FAja::IsInitialized(); } + + virtual bool CanBeUsed() const override { return FAja::CanUseAJACard(); } + +public: + + //~ IModuleInterface interface + virtual void StartupModule() override + { + // initialize AJA + if (!FAja::Initialize()) + { + UE_LOG(LogAjaMedia, Error, TEXT("Failed to initialize AJA")); + return; + } + + IMediaIOCoreModule::Get().RegisterDeviceProvider(&DeviceProvider); + } + + virtual void ShutdownModule() override + { + if (IMediaIOCoreModule::IsAvailable()) + { + IMediaIOCoreModule::Get().UnregisterDeviceProvider(&DeviceProvider); + } + FAja::Shutdown(); + } + +private: + FAjaDeviceProvider DeviceProvider; +}; + +IMPLEMENT_MODULE(FAjaMediaModule, AjaMedia); + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMedia/Private/AjaMediaPrivate.h b/Source/AjaMedia/Private/AjaMediaPrivate.h new file mode 100644 index 0000000..785ac86 --- /dev/null +++ b/Source/AjaMedia/Private/AjaMediaPrivate.h @@ -0,0 +1,42 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#if PLATFORM_WINDOWS +#include "Windows/WindowsHWrapper.h" +#include "Windows/AllowWindowsPlatformTypes.h" +#include + +#include "AJALib.h" + +#include "Windows/HideWindowsPlatformTypes.h" +#endif + +#include "CoreMinimal.h" +#include "AjaMediaSettings.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogAjaMedia, Log, All); + +namespace AjaMediaOption +{ + static const FName DeviceIndex("DeviceIndex"); + static const FName PortIndex("PortIndex"); + static const FName TransportType("TransportType"); + static const FName QuadTransportType("QuadTransportType"); + static const FName TimecodeFormat("TimecodeFormat"); + static const FName LogDropFrame("LogDropFrame"); + static const FName EncodeTimecodeInTexel("EncodeTimecodeInTexel"); + static const FName CaptureWithAutoCirculating("CaptureWithAutoCirculating"); + static const FName CaptureAncillary("CaptureAncillary"); + static const FName CaptureAudio("CaptureAudio"); + static const FName CaptureVideo("CaptureVideo"); + static const FName MaxAncillaryFrameBuffer("MaxAncillaryFrameBuffer"); + static const FName AudioChannel("AudioChannel"); + static const FName MaxAudioFrameBuffer("MaxAudioFrameBuffer"); + static const FName AjaVideoFormat("AjaVideoFormat"); + static const FName ColorFormat("ColorFormat"); + static const FName SRGBInput("sRGBInput"); + static const FName MaxVideoFrameBuffer("MaxVideoFrameBuffer"); + + static const AJA::FAJAVideoFormat DefaultVideoFormat = 9; // 1080p3000 +} diff --git a/Source/AjaMedia/Private/Assets/AjaCustomTimeStep.cpp b/Source/AjaMedia/Private/Assets/AjaCustomTimeStep.cpp new file mode 100644 index 0000000..02ac634 --- /dev/null +++ b/Source/AjaMedia/Private/Assets/AjaCustomTimeStep.cpp @@ -0,0 +1,313 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaCustomTimeStep.h" +#include "AjaMediaPrivate.h" +#include "AJA.h" + +#include "HAL/CriticalSection.h" +#include "HAL/Event.h" +#include "HAL/IConsoleManager.h" +#include "HAL/PlatformTime.h" + +#include "Misc/App.h" +#include "Misc/ScopeLock.h" + + +//~ IAJASyncChannelCallbackInterface implementation +//-------------------------------------------------------------------- +// Those are called from the AJA thread. There's a lock inside AJA to prevent this object from dying while in this thread. +struct UAjaCustomTimeStep::FAJACallback : public AJA::IAJASyncChannelCallbackInterface +{ + UAjaCustomTimeStep* Owner; + FAJACallback(UAjaCustomTimeStep* InOwner) + : Owner(InOwner) + {} + + //~ IAJAInputCallbackInterface interface + virtual void OnInitializationCompleted(bool bSucceed) override + { + Owner->State = bSucceed ? ECustomTimeStepSynchronizationState::Synchronized : ECustomTimeStepSynchronizationState::Error; + if (!bSucceed) + { + UE_LOG(LogAjaMedia, Error, TEXT("The initialization of '%s' failed. The CustomTimeStep won't be synchronized."), *Owner->GetName()); + } + } +}; + + +//~ UFixedFrameRateCustomTimeStep implementation +//-------------------------------------------------------------------- +UAjaCustomTimeStep::UAjaCustomTimeStep(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) + , bUseReferenceIn(false) + , TimecodeFormat(EMediaIOTimecodeFormat::LTC) + , bEnableOverrunDetection(true) + , SyncChannel(nullptr) + , SyncCallback(nullptr) +#if WITH_EDITORONLY_DATA + , InitializedEngine(nullptr) + , LastAutoSynchronizeInEditorAppTime(0.0) +#endif + , State(ECustomTimeStepSynchronizationState::Closed) + , bDidAValidUpdateTimeStep(false) + , bWarnedAboutVSync(false) + , bIsPreviousSyncCountValid(false) + , PreviousSyncCount(0) +{ + MediaConfiguration.bIsInput = !bUseReferenceIn; +} + +bool UAjaCustomTimeStep::Initialize(UEngine* InEngine) +{ +#if WITH_EDITORONLY_DATA + InitializedEngine = nullptr; +#endif + + State = ECustomTimeStepSynchronizationState::Closed; + bDidAValidUpdateTimeStep = false; + + if (!FAja::IsInitialized()) + { + State = ECustomTimeStepSynchronizationState::Error; + UE_LOG(LogAjaMedia, Error, TEXT("The CustomTimeStep '%s' can't be initialized. AJA is not initialized on your machine."), *GetName()); + return false; + } + + if (!FAja::CanUseAJACard()) + { + State = ECustomTimeStepSynchronizationState::Error; + UE_LOG(LogAjaMedia, Warning, TEXT("The CustomTimeStep '%s' can't be initialized because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *GetName()); + return false; + } + + FString FailureReason; + if (!MediaConfiguration.IsValid()) + { + State = ECustomTimeStepSynchronizationState::Error; + UE_LOG(LogAjaMedia, Error, TEXT("The CustomTimeStep '%s' configuration is invalid."), *GetName()); + return false; + } + + if (bUseReferenceIn && bWaitForFrameToBeReady) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The CustomTimeStep '%s' use both the reference and wait for the frame to be ready. These options are not compatible."), *GetName()); + } + + if (bWaitForFrameToBeReady && MediaConfiguration.MediaMode.Standard == EMediaIOStandardType::Interlaced) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The CustomTimeStep '%s' is waiting for the frame to be ready and interlaced picture is not supported."), *GetName()); + } + + check(SyncCallback == nullptr); + SyncCallback = new FAJACallback(this); + + AJA::AJADeviceOptions DeviceOptions(MediaConfiguration.MediaConnection.Device.DeviceIdentifier); + + //Convert Port Index to match what AJA expects + AJA::AJASyncChannelOptions Options(*GetName()); + Options.CallbackInterface = SyncCallback; + Options.ChannelIndex = MediaConfiguration.MediaConnection.PortIdentifier; + Options.VideoFormatIndex = MediaConfiguration.MediaMode.DeviceModeIdentifier; + Options.bOutput = bUseReferenceIn; + Options.bWaitForFrameToBeReady = bWaitForFrameToBeReady && !bUseReferenceIn; + Options.TransportType = AJA::ETransportType::TT_SdiSingle; + { + const EMediaIOTransportType TransportType = MediaConfiguration.MediaConnection.TransportType; + const EMediaIOQuadLinkTransportType QuadTransportType = MediaConfiguration.MediaConnection.QuadTransportType; + switch (TransportType) + { + case EMediaIOTransportType::SingleLink: + Options.TransportType = AJA::ETransportType::TT_SdiSingle; + break; + case EMediaIOTransportType::DualLink: + Options.TransportType = AJA::ETransportType::TT_SdiDual; + break; + case EMediaIOTransportType::QuadLink: + Options.TransportType = QuadTransportType == EMediaIOQuadLinkTransportType::SquareDivision ? AJA::ETransportType::TT_SdiQuadSQ : AJA::ETransportType::TT_SdiQuadTSI; + break; + case EMediaIOTransportType::HDMI: + Options.TransportType = AJA::ETransportType::TT_Hdmi; + break; + } + } + + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + if (!Options.bOutput) + { + switch (TimecodeFormat) + { + case EMediaIOTimecodeFormat::None: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + break; + case EMediaIOTimecodeFormat::LTC: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_LTC; + break; + case EMediaIOTimecodeFormat::VITC: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_VITC1; + break; + default: + break; + } + } + + check(SyncChannel == nullptr); + SyncChannel = new AJA::AJASyncChannel(); + if (!SyncChannel->Initialize(DeviceOptions, Options)) + { + State = ECustomTimeStepSynchronizationState::Error; + delete SyncChannel; + SyncChannel = nullptr; + delete SyncCallback; + SyncCallback = nullptr; + return false; + } + +#if WITH_EDITORONLY_DATA + InitializedEngine = InEngine; +#endif + + State = ECustomTimeStepSynchronizationState::Synchronizing; + return true; +} + +void UAjaCustomTimeStep::Shutdown(UEngine* InEngine) +{ +#if WITH_EDITORONLY_DATA + InitializedEngine = nullptr; +#endif + + State = ECustomTimeStepSynchronizationState::Closed; + ReleaseResources(); +} + +bool UAjaCustomTimeStep::UpdateTimeStep(UEngine* InEngine) +{ + bool bRunEngineTimeStep = true; + if (State == ECustomTimeStepSynchronizationState::Synchronized) + { + static const auto CVar = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("r.VSync")); + if (!bWarnedAboutVSync) + { + bool bLockToVsync = CVar->GetValueOnGameThread() != 0; + if (bLockToVsync) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The Engine is using VSync and the AJACustomTimeStep. It may break the 'genlock'.")); + bWarnedAboutVSync = true; + } + } + + // Updates logical last time to match logical current time from last tick + UpdateApplicationLastTime(); + + const double BeforeTime = FPlatformTime::Seconds(); + + WaitForSync(); + + // Use fixed delta time and update time. + FApp::SetCurrentTime(FPlatformTime::Seconds()); + FApp::SetIdleTime(FApp::GetCurrentTime() - BeforeTime); + + double InterlacedMultiplier = ((MediaConfiguration.MediaMode.Standard == EMediaIOStandardType::Interlaced) && bWaitForFrameToBeReady) ? 2.0 : 1.0; + FApp::SetDeltaTime(GetFixedFrameRate().AsInterval() * InterlacedMultiplier); + + bRunEngineTimeStep = false; + bDidAValidUpdateTimeStep = true; + } + else if (State == ECustomTimeStepSynchronizationState::Error) + { + ReleaseResources(); + + // In Editor only, when not in pie, reinitialized the device +#if WITH_EDITORONLY_DATA && WITH_EDITOR + if (InitializedEngine && !GIsPlayInEditorWorld && GIsEditor) + { + const double TimeBetweenAttempt = 1.0; + if (FApp::GetCurrentTime() - LastAutoSynchronizeInEditorAppTime > TimeBetweenAttempt) + { + Initialize(InitializedEngine); + LastAutoSynchronizeInEditorAppTime = FApp::GetCurrentTime(); + } + } +#endif + } + + return bRunEngineTimeStep; +} + +ECustomTimeStepSynchronizationState UAjaCustomTimeStep::GetSynchronizationState() const +{ + if (State == ECustomTimeStepSynchronizationState::Synchronized) + { + return bDidAValidUpdateTimeStep ? ECustomTimeStepSynchronizationState::Synchronized : ECustomTimeStepSynchronizationState::Synchronizing; + } + return State; +} + +FFrameRate UAjaCustomTimeStep::GetFixedFrameRate() const +{ + return MediaConfiguration.MediaMode.FrameRate; +} + +//~ UObject implementation +//-------------------------------------------------------------------- +void UAjaCustomTimeStep::BeginDestroy() +{ + ReleaseResources(); + Super::BeginDestroy(); +} + +#if WITH_EDITOR +void UAjaCustomTimeStep::PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) +{ + if (PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaCustomTimeStep, bUseReferenceIn)) + { + MediaConfiguration = FMediaIOConfiguration(); + MediaConfiguration.bIsInput = !bUseReferenceIn; + } + + Super::PostEditChangeChainProperty(PropertyChangedEvent); +} +#endif // WITH_EDITOR + +//~ UAjaCustomTimeStep implementation +//-------------------------------------------------------------------- +void UAjaCustomTimeStep::WaitForSync() +{ + check(SyncChannel); + + bool bWaitIsValid = SyncChannel->WaitForSync(); + if (bEnableOverrunDetection && bWaitIsValid) + { + uint32 NewSyncCount = 0; + bool bIsNewSyncCountValid = SyncChannel->GetSyncCount(NewSyncCount); + + if (bIsNewSyncCountValid && bIsPreviousSyncCountValid && NewSyncCount != PreviousSyncCount+1) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The Engine couldn't run fast enough to keep up with the CustomTimeStep Sync. '%d' frame(s) was dropped."), NewSyncCount-PreviousSyncCount+1); + } + bIsPreviousSyncCountValid = bIsNewSyncCountValid; + PreviousSyncCount = NewSyncCount; + } + + if (!bWaitIsValid) + { + State = ECustomTimeStepSynchronizationState::Error; + UE_LOG(LogAjaMedia, Error, TEXT("The Engine couldn't run fast enough to keep up with the CustomTimeStep Sync. The wait timeout.")); + } +} + +void UAjaCustomTimeStep::ReleaseResources() +{ + if (SyncChannel) + { + SyncChannel->Uninitialize(); + delete SyncChannel; + SyncChannel = nullptr; + delete SyncCallback; + SyncCallback = nullptr; + } + + bWarnedAboutVSync = false; + bIsPreviousSyncCountValid = false; +} + diff --git a/Source/AjaMedia/Private/Assets/AjaMediaSettings.cpp b/Source/AjaMedia/Private/Assets/AjaMediaSettings.cpp new file mode 100644 index 0000000..532e5f4 --- /dev/null +++ b/Source/AjaMedia/Private/Assets/AjaMediaSettings.cpp @@ -0,0 +1,6 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaSettings.h" + +/* UAjaMediaSettings +*****************************************************************************/ diff --git a/Source/AjaMedia/Private/Assets/AjaMediaSource.cpp b/Source/AjaMedia/Private/Assets/AjaMediaSource.cpp new file mode 100644 index 0000000..ff3cd00 --- /dev/null +++ b/Source/AjaMedia/Private/Assets/AjaMediaSource.cpp @@ -0,0 +1,289 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaSource.h" + +#include "Aja.h" +#include "AjaMediaPrivate.h" + +#include "MediaIOCorePlayerBase.h" +#include "UObject/EnterpriseObjectVersion.h" + +UAjaMediaSource::UAjaMediaSource() + : TimecodeFormat(EMediaIOTimecodeFormat::None) + , bCaptureWithAutoCirculating(true) + , bCaptureAncillary(false) + , MaxNumAncillaryFrameBuffer(8) + , bCaptureAudio(false) + , AudioChannel(EAjaMediaAudioChannel::Channel8) + , MaxNumAudioFrameBuffer(8) + , bCaptureVideo(true) + , ColorFormat(EAjaMediaSourceColorFormat::YUV2_8bit) + , bIsSRGBInput(false) + , MaxNumVideoFrameBuffer(8) + , bLogDropFrame(true) + , bEncodeTimecodeInTexel(false) +{ + MediaConfiguration.bIsInput = true; +} + +/* + * IMediaOptions interface + */ + +bool UAjaMediaSource::GetMediaOption(const FName& Key, bool DefaultValue) const +{ + if (Key == AjaMediaOption::CaptureWithAutoCirculating) + { + return bCaptureWithAutoCirculating; + } + if (Key == AjaMediaOption::CaptureAncillary) + { + return bCaptureAncillary; + } + if (Key == AjaMediaOption::CaptureAudio) + { + return bCaptureAudio; + } + if (Key == AjaMediaOption::CaptureVideo) + { + return bCaptureVideo; + } + if (Key == AjaMediaOption::LogDropFrame) + { + return bLogDropFrame; + } + if (Key == AjaMediaOption::EncodeTimecodeInTexel) + { + return bEncodeTimecodeInTexel; + } + if (Key == AjaMediaOption::SRGBInput) + { + return bIsSRGBInput; + } + + + return Super::GetMediaOption(Key, DefaultValue); +} + +int64 UAjaMediaSource::GetMediaOption(const FName& Key, int64 DefaultValue) const +{ + if (Key == AjaMediaOption::DeviceIndex) + { + return MediaConfiguration.MediaConnection.Device.DeviceIdentifier; + } + if (Key == AjaMediaOption::PortIndex) + { + return MediaConfiguration.MediaConnection.PortIdentifier; + } + if (Key == AjaMediaOption::TransportType) + { + return (int64)MediaConfiguration.MediaConnection.TransportType; + } + if (Key == AjaMediaOption::QuadTransportType) + { + return (int64)MediaConfiguration.MediaConnection.QuadTransportType; + } + if (Key == FMediaIOCoreMediaOption::FrameRateNumerator) + { + return MediaConfiguration.MediaMode.FrameRate.Numerator; + } + if (Key == FMediaIOCoreMediaOption::FrameRateDenominator) + { + return MediaConfiguration.MediaMode.FrameRate.Denominator; + } + if (Key == FMediaIOCoreMediaOption::ResolutionWidth) + { + return MediaConfiguration.MediaMode.Resolution.X; + } + if (Key == FMediaIOCoreMediaOption::ResolutionHeight) + { + return MediaConfiguration.MediaMode.Resolution.Y; + } + if (Key == AjaMediaOption::TimecodeFormat) + { + return (int64)TimecodeFormat; + } + if (Key == AjaMediaOption::MaxAncillaryFrameBuffer) + { + return MaxNumAncillaryFrameBuffer; + } + if (Key == AjaMediaOption::AudioChannel) + { + return (int64)AudioChannel; + } + if (Key == AjaMediaOption::MaxAudioFrameBuffer) + { + return MaxNumAudioFrameBuffer; + } + if (Key == AjaMediaOption::AjaVideoFormat) + { + return MediaConfiguration.MediaMode.DeviceModeIdentifier; + } + if (Key == AjaMediaOption::ColorFormat) + { + return (int64)ColorFormat; + } + if (Key == AjaMediaOption::MaxVideoFrameBuffer) + { + return MaxNumVideoFrameBuffer; + } + + return Super::GetMediaOption(Key, DefaultValue); +} + +FString UAjaMediaSource::GetMediaOption(const FName& Key, const FString& DefaultValue) const +{ + if (Key == FMediaIOCoreMediaOption::VideoModeName) + { + return MediaConfiguration.MediaMode.GetModeName().ToString(); + } + return Super::GetMediaOption(Key, DefaultValue); +} + +bool UAjaMediaSource::HasMediaOption(const FName& Key) const +{ + if ((Key == AjaMediaOption::DeviceIndex) || + (Key == AjaMediaOption::PortIndex) || + (Key == AjaMediaOption::TransportType) || + (Key == AjaMediaOption::QuadTransportType) || + (Key == FMediaIOCoreMediaOption::FrameRateNumerator) || + (Key == FMediaIOCoreMediaOption::FrameRateDenominator) || + (Key == FMediaIOCoreMediaOption::ResolutionWidth) || + (Key == FMediaIOCoreMediaOption::ResolutionHeight) || + (Key == FMediaIOCoreMediaOption::VideoModeName) || + (Key == AjaMediaOption::TimecodeFormat) || + (Key == AjaMediaOption::CaptureWithAutoCirculating) || + (Key == AjaMediaOption::CaptureAncillary) || + (Key == AjaMediaOption::CaptureAudio) || + (Key == AjaMediaOption::CaptureVideo) || + (Key == AjaMediaOption::MaxAncillaryFrameBuffer) || + (Key == AjaMediaOption::AudioChannel) || + (Key == AjaMediaOption::MaxAudioFrameBuffer) || + (Key == AjaMediaOption::AjaVideoFormat) || + (Key == AjaMediaOption::ColorFormat) || + (Key == AjaMediaOption::SRGBInput) || + (Key == AjaMediaOption::MaxVideoFrameBuffer) || + (Key == AjaMediaOption::LogDropFrame) || + (Key == AjaMediaOption::EncodeTimecodeInTexel) + ) + { + return true; + } + + return Super::HasMediaOption(Key); +} + +/* + * UMediaSource interface + */ + +FString UAjaMediaSource::GetUrl() const +{ + return MediaConfiguration.MediaConnection.ToUrl(); +} + +bool UAjaMediaSource::Validate() const +{ + FString FailureReason; + if (!MediaConfiguration.IsValid()) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaConfiguration '%s' is invalid."), *GetName()); + return false; + } + + if (!FAja::IsInitialized()) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Can't validate MediaSource '%s'. the Aja library was not initialized."), *GetName()); + return false; + } + + if (!FAja::CanUseAJACard()) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Can't validate MediaSource '%s' because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *GetName()); + return false; + } + + TUniquePtr Scanner = MakeUnique(); + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!Scanner->GetDeviceInfo(MediaConfiguration.MediaConnection.Device.DeviceIdentifier, DeviceInfo)) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that doesn't exist on this machine."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (!DeviceInfo.bIsSupported) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that is not supported by the AJA SDK."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (DeviceInfo.NumSdiInput == 0 && DeviceInfo.NumHdmiInput == 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that can't capture."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (bCaptureAncillary && !DeviceInfo.bCanDoCustomAnc) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that can't capture Ancillary data."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (bUseTimeSynchronization && TimecodeFormat == EMediaIOTimecodeFormat::None) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use time synchronization but doesn't enabled the timecode."), *GetName()); + return false; + } + + if (bCaptureVideo) + { + if (ColorFormat == EAjaMediaSourceColorFormat::YUV2_8bit && !DeviceInfo.bSupportPixelFormat8bitYCBCR) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that doesn't support the 8bit YUV pixel format."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + if (ColorFormat == EAjaMediaSourceColorFormat::YUV_10bit && !DeviceInfo.bSupportPixelFormat10bitYCBCR) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The MediaSource '%s' use the device '%s' that doesn't support the 10bit YUV pixel format."), *GetName(), *MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + } + + return true; +} + +#if WITH_EDITOR +bool UAjaMediaSource::CanEditChange(const UProperty* InProperty) const +{ + if (!Super::CanEditChange(InProperty)) + { + return false; + } + + if (InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaSource, bEncodeTimecodeInTexel)) + { + return TimecodeFormat != EMediaIOTimecodeFormat::None && bCaptureVideo; + } + + if (InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(UTimeSynchronizableMediaSource, bUseTimeSynchronization)) + { + return TimecodeFormat != EMediaIOTimecodeFormat::None; + } + + return true; +} + +void UAjaMediaSource::PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) +{ + if (PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaSource, TimecodeFormat)) + { + if (TimecodeFormat == EMediaIOTimecodeFormat::None) + { + bUseTimeSynchronization = false; + bEncodeTimecodeInTexel = false; + } + } + + Super::PostEditChangeChainProperty(PropertyChangedEvent); +} +#endif //WITH_EDITOR diff --git a/Source/AjaMedia/Private/Assets/AjaTimecodeProvider.cpp b/Source/AjaMedia/Private/Assets/AjaTimecodeProvider.cpp new file mode 100644 index 0000000..2896f2b --- /dev/null +++ b/Source/AjaMedia/Private/Assets/AjaTimecodeProvider.cpp @@ -0,0 +1,243 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaTimecodeProvider.h" +#include "AjaMediaPrivate.h" +#include "AJA.h" + +#include "Misc/App.h" + +#define LOCTEXT_NAMESPACE "AjaTimecodeProvider" + + +//~ IAJASyncChannelCallbackInterface implementation +//-------------------------------------------------------------------- +// Those are called from the AJA thread. There's a lock inside AJA to prevent this object from dying while in this thread. +struct UAjaTimecodeProvider::FAJACallback : public AJA::IAJASyncChannelCallbackInterface +{ + UAjaTimecodeProvider* Owner; + FAJACallback(UAjaTimecodeProvider* InOwner) + : Owner(InOwner) + {} + + //~ IAJAInputCallbackInterface interface + virtual void OnInitializationCompleted(bool bSucceed) override + { + Owner->State = bSucceed ? ETimecodeProviderSynchronizationState::Synchronized : ETimecodeProviderSynchronizationState::Error; + if (!bSucceed) + { + UE_LOG(LogAjaMedia, Error, TEXT("The initialization of '%s' failed. The TimecodeProvider won't be synchronized."), *Owner->GetName()); + } + } +}; + +//~ UAjaTimecodeProvider implementation +//-------------------------------------------------------------------- +UAjaTimecodeProvider::UAjaTimecodeProvider(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) + , SyncChannel(nullptr) + , SyncCallback(nullptr) +#if WITH_EDITORONLY_DATA + , InitializedEngine(nullptr) + , LastAutoSynchronizeInEditorAppTime(0.0) +#endif + , State(ETimecodeProviderSynchronizationState::Closed) +{ +} + +FTimecode UAjaTimecodeProvider::GetTimecode() const +{ + if (SyncChannel) + { + if (State == ETimecodeProviderSynchronizationState::Synchronized) + { + AJA::FTimecode NewTimecode; + if (SyncChannel->GetTimecode(NewTimecode)) + { + //We expect the timecode to be processed in the library. What we receive will be a "linear" timecode even for frame rates greater than 30. + if ((int32)NewTimecode.Frames >= FMath::RoundToInt(GetFrameRate().AsDecimal())) + { + UE_LOG(LogAjaMedia, Warning, TEXT("TimecodeProvider %s received an invalid Timecode frame number (%d) for the current frame rate (%s)."), *GetName(), NewTimecode.Frames, *GetFrameRate().ToPrettyText().ToString()); + } + return FAja::ConvertAJATimecode2Timecode(NewTimecode, GetFrameRate()); + } + else + { + const_cast(this)->State = ETimecodeProviderSynchronizationState::Error; + } + } + } + return FTimecode(); +} + +FFrameRate UAjaTimecodeProvider::GetFrameRate() const +{ + return bUseReferenceIn ? ReferenceConfiguration.LtcFrameRate : VideoConfiguration.MediaConfiguration.MediaMode.FrameRate; +} + +bool UAjaTimecodeProvider::Initialize(class UEngine* InEngine) +{ +#if WITH_EDITORONLY_DATA + InitializedEngine = nullptr; +#endif + + State = ETimecodeProviderSynchronizationState::Closed; + + if (!FAja::IsInitialized()) + { + State = ETimecodeProviderSynchronizationState::Error; + UE_LOG(LogAjaMedia, Warning, TEXT("The TimecodeProvider '%s' can't be initialized. AJA is not initialized on your machine."), *GetName()); + return false; + } + + if (!FAja::CanUseAJACard()) + { + State = ETimecodeProviderSynchronizationState::Error; + UE_LOG(LogAjaMedia, Warning, TEXT("The TimecodeProvider '%s' can't be initialized because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *GetName()); + return false; + } + + FString FailureReason; + if ((bUseReferenceIn && !ReferenceConfiguration.IsValid()) || (!bUseReferenceIn && !VideoConfiguration.IsValid())) + { + State = ETimecodeProviderSynchronizationState::Error; + UE_LOG(LogAjaMedia, Warning, TEXT("The TimecodeProvider '%s' configuration is invalid."), *GetName()); + return false; + } + + check(SyncCallback == nullptr); + SyncCallback = new FAJACallback(this); + + const int32 DeviceIndex = bUseReferenceIn ? ReferenceConfiguration.Device.DeviceIdentifier : VideoConfiguration.MediaConfiguration.MediaConnection.Device.DeviceIdentifier; + AJA::AJADeviceOptions DeviceOptions(DeviceIndex); + + AJA::AJASyncChannelOptions Options(*GetName()); + Options.CallbackInterface = SyncCallback; + + Options.bReadTimecodeFromReferenceIn = bUseReferenceIn; + + Options.LTCSourceIndex = ReferenceConfiguration.LtcIndex; + Options.LTCFrameRateNumerator = ReferenceConfiguration.LtcFrameRate.Numerator; + Options.LTCFrameRateDenominator = ReferenceConfiguration.LtcFrameRate.Denominator; + + Options.ChannelIndex = VideoConfiguration.MediaConfiguration.MediaConnection.PortIdentifier; + Options.VideoFormatIndex = VideoConfiguration.MediaConfiguration.MediaMode.DeviceModeIdentifier; + + Options.TransportType = AJA::ETransportType::TT_SdiSingle; + { + const EMediaIOTransportType TransportType = VideoConfiguration.MediaConfiguration.MediaConnection.TransportType; + const EMediaIOQuadLinkTransportType QuadTransportType = VideoConfiguration.MediaConfiguration.MediaConnection.QuadTransportType; + switch (TransportType) + { + case EMediaIOTransportType::SingleLink: + Options.TransportType = AJA::ETransportType::TT_SdiSingle; + break; + case EMediaIOTransportType::DualLink: + Options.TransportType = AJA::ETransportType::TT_SdiDual; + break; + case EMediaIOTransportType::QuadLink: + Options.TransportType = QuadTransportType == EMediaIOQuadLinkTransportType::SquareDivision ? AJA::ETransportType::TT_SdiQuadSQ : AJA::ETransportType::TT_SdiQuadTSI; + break; + case EMediaIOTransportType::HDMI: + Options.TransportType = AJA::ETransportType::TT_Hdmi; + break; + } + } + + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + switch(VideoConfiguration.TimecodeFormat) + { + case EMediaIOTimecodeFormat::None: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + break; + case EMediaIOTimecodeFormat::LTC: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_LTC; + break; + case EMediaIOTimecodeFormat::VITC: + Options.TimecodeFormat = AJA::ETimecodeFormat::TCF_VITC1; + break; + default: + break; + } + + check(SyncChannel == nullptr); + SyncChannel = new AJA::AJASyncChannel(); + if (!SyncChannel->Initialize(DeviceOptions, Options)) + { + State = ETimecodeProviderSynchronizationState::Error; + ReleaseResources(); + return false; + } + +#if WITH_EDITORONLY_DATA + InitializedEngine = InEngine; +#endif + + State = ETimecodeProviderSynchronizationState::Synchronizing; + return true; +} + +void UAjaTimecodeProvider::Shutdown(class UEngine* InEngine) +{ +#if WITH_EDITORONLY_DATA + InitializedEngine = nullptr; +#endif + + State = ETimecodeProviderSynchronizationState::Closed; + ReleaseResources(); +} + +void UAjaTimecodeProvider::BeginDestroy() +{ + ReleaseResources(); + Super::BeginDestroy(); +} + +void UAjaTimecodeProvider::ReleaseResources() +{ + if (SyncChannel) + { + SyncChannel->Uninitialize(); + delete SyncChannel; + SyncChannel = nullptr; + + check(SyncCallback); + delete SyncCallback; + SyncCallback = nullptr; + } +} + +ETickableTickType UAjaTimecodeProvider::GetTickableTickType() const +{ +#if WITH_EDITORONLY_DATA && WITH_EDITOR + return ETickableTickType::Conditional; +#endif + return ETickableTickType::Never; +} + +bool UAjaTimecodeProvider::IsTickable() const +{ + return State == ETimecodeProviderSynchronizationState::Error; +} + +void UAjaTimecodeProvider::Tick(float DeltaTime) +{ +#if WITH_EDITORONLY_DATA && WITH_EDITOR + if (State == ETimecodeProviderSynchronizationState::Error) + { + ReleaseResources(); + + // In Editor only, when not in pie, reinitialized the device + if (InitializedEngine && !GIsPlayInEditorWorld && GIsEditor) + { + const double TimeBetweenAttempt = 1.0; + if (FApp::GetCurrentTime() - LastAutoSynchronizeInEditorAppTime > TimeBetweenAttempt) + { + Initialize(InitializedEngine); + LastAutoSynchronizeInEditorAppTime = FApp::GetCurrentTime(); + } + } + } +#endif +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMedia/Private/Player/AjaMediaAudioSample.h b/Source/AjaMedia/Private/Player/AjaMediaAudioSample.h new file mode 100644 index 0000000..6cbfe21 --- /dev/null +++ b/Source/AjaMedia/Private/Player/AjaMediaAudioSample.h @@ -0,0 +1,38 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaIOCoreAudioSampleBase.h" +#include "AjaMediaPrivate.h" + +/* + * Implements a media audio sample for AjaMedia. + */ +class FAjaMediaAudioSample + : public FMediaIOCoreAudioSampleBase +{ + using Super = FMediaIOCoreAudioSampleBase; + +public: + + bool Initialize(const AJA::AJAAudioFrameData& InAudioData, FTimespan InTime, const TOptional& InTimecode) + { + return Super::Initialize( + reinterpret_cast(InAudioData.AudioBuffer) + , InAudioData.AudioBufferSize / sizeof(int32) + , InAudioData.NumChannels + , InAudioData.AudioRate + , InTime + , InTimecode); + } + + virtual void* RequestBuffer(uint32 InBufferSize) override + { + return Super::RequestBuffer(InBufferSize / sizeof(int32)); + } +}; + +/* + * Implements a pool for AJA audio sample objects. + */ +class FAjaMediaAudioSamplePool : public TMediaObjectPool { }; diff --git a/Source/AjaMedia/Private/Player/AjaMediaBinarySample.h b/Source/AjaMedia/Private/Player/AjaMediaBinarySample.h new file mode 100644 index 0000000..eda7b86 --- /dev/null +++ b/Source/AjaMedia/Private/Player/AjaMediaBinarySample.h @@ -0,0 +1,13 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaIOCoreBinarySampleBase.h" + +#include "AjaMediaPrivate.h" + +/* + * Implements a pool for AJA binary sample objects. + */ + +class FAjaMediaBinarySamplePool : public TMediaObjectPool { }; diff --git a/Source/AjaMedia/Private/Player/AjaMediaPlayer.cpp b/Source/AjaMedia/Private/Player/AjaMediaPlayer.cpp new file mode 100644 index 0000000..57d1e5b --- /dev/null +++ b/Source/AjaMedia/Private/Player/AjaMediaPlayer.cpp @@ -0,0 +1,768 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaPlayer.h" +#include "AjaMediaPrivate.h" + +#include "AJA.h" +#include "MediaIOCoreEncodeTime.h" +#include "MediaIOCoreFileWriter.h" +#include "MediaIOCoreSamples.h" + +#include "HAL/PlatformAtomics.h" +#include "HAL/PlatformProcess.h" +#include "IMediaEventSink.h" +#include "IMediaOptions.h" +#include "Misc/ScopeLock.h" +#include "Stats/Stats2.h" + +#include "AjaMediaAudioSample.h" +#include "AjaMediaBinarySample.h" +#include "AjaMediaSettings.h" +#include "AjaMediaTextureSample.h" + +#include "AjaMediaAllowPlatformTypes.h" + +#define LOCTEXT_NAMESPACE "FAjaMediaPlayer" + +DECLARE_CYCLE_STAT(TEXT("AJA MediaPlayer Request frame"), STAT_AJA_MediaPlayer_RequestFrame, STATGROUP_Media); +DECLARE_CYCLE_STAT(TEXT("AJA MediaPlayer Process frame"), STAT_AJA_MediaPlayer_ProcessFrame, STATGROUP_Media); + +namespace AjaMediaPlayerConst +{ + static const uint32 ModeNameBufferSize = 64; + static const int32 ToleratedExtraMaxBufferCount = 2; +} + +bool bAjaWriteOutputRawDataCmdEnable = false; +static FAutoConsoleCommand AjaWriteOutputRawDataCmd( + TEXT("Aja.WriteOutputRawData"), + TEXT("Write Aja raw output buffer to file."), + FConsoleCommandDelegate::CreateLambda([]() { bAjaWriteOutputRawDataCmdEnable = true; }) + ); + +/* FAjaVideoPlayer structors + *****************************************************************************/ + +FAjaMediaPlayer::FAjaMediaPlayer(IMediaEventSink& InEventSink) + : Super(InEventSink) + , AudioSamplePool(new FAjaMediaAudioSamplePool) + , MetadataSamplePool(new FAjaMediaBinarySamplePool) + , TextureSamplePool(new FAjaMediaTextureSamplePool) + , MaxNumAudioFrameBuffer(8) + , MaxNumMetadataFrameBuffer(8) + , MaxNumVideoFrameBuffer(8) + , AjaThreadNewState(EMediaState::Closed) + , EventSink(InEventSink) + , AjaThreadAudioChannels(0) + , AjaThreadAudioSampleRate(0) + , AjaThreadFrameDropCount(0) + , AjaThreadAutoCirculateAudioFrameDropCount(0) + , AjaThreadAutoCirculateMetadataFrameDropCount(0) + , AjaThreadAutoCirculateVideoFrameDropCount(0) + , LastFrameDropCount(0) + , PreviousFrameDropCount(0) + , bEncodeTimecodeInTexel(false) + , bUseFrameTimecode(false) + , bIsSRGBInput(false) + , bUseAncillary(false) + , bUseAudio(false) + , bUseVideo(false) + , bVerifyFrameDropCount(true) + , InputChannel(nullptr) +{ } + + +FAjaMediaPlayer::~FAjaMediaPlayer() +{ + Close(); + delete AudioSamplePool; + delete MetadataSamplePool; + delete TextureSamplePool; +} + + +/* IMediaPlayer interface + *****************************************************************************/ +bool FAjaMediaPlayer::Open(const FString& Url, const IMediaOptions* Options) +{ + if (!FAja::CanUseAJACard()) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The AjaMediaPlayer can't open URL '%s' because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *Url); + return false; + } + + if (!Super::Open(Url, Options)) + { + return false; + } + + AJA::AJADeviceOptions DeviceOptions(Options->GetMediaOption(AjaMediaOption::DeviceIndex, (int64)0)); + + // Read options + AJA::AJAInputOutputChannelOptions AjaOptions(TEXT("MediaPlayer"), Options->GetMediaOption(AjaMediaOption::PortIndex, (int64)0)); + AjaOptions.CallbackInterface = this; + AjaOptions.bOutput = false; + { + const EMediaIOTransportType TransportType = (EMediaIOTransportType)(Options->GetMediaOption(AjaMediaOption::TransportType, (int64)EMediaIOTransportType::SingleLink)); + const EMediaIOQuadLinkTransportType QuadTransportType = (EMediaIOQuadLinkTransportType)(Options->GetMediaOption(AjaMediaOption::QuadTransportType, (int64)EMediaIOQuadLinkTransportType::SquareDivision)); + switch(TransportType) + { + case EMediaIOTransportType::SingleLink: + AjaOptions.TransportType = AJA::ETransportType::TT_SdiSingle; + break; + case EMediaIOTransportType::DualLink: + AjaOptions.TransportType = AJA::ETransportType::TT_SdiDual; + break; + case EMediaIOTransportType::QuadLink: + AjaOptions.TransportType = QuadTransportType == EMediaIOQuadLinkTransportType::SquareDivision ? AJA::ETransportType::TT_SdiQuadSQ : AJA::ETransportType::TT_SdiQuadTSI; + break; + case EMediaIOTransportType::HDMI: + AjaOptions.TransportType = AJA::ETransportType::TT_Hdmi; + break; + } + } + { + const EMediaIOTimecodeFormat Timecode = (EMediaIOTimecodeFormat)(Options->GetMediaOption(AjaMediaOption::TimecodeFormat, (int64)EMediaIOTimecodeFormat::None)); + bUseFrameTimecode = Timecode != EMediaIOTimecodeFormat::None; + AjaOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + switch (Timecode) + { + case EMediaIOTimecodeFormat::None: + AjaOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + break; + case EMediaIOTimecodeFormat::LTC: + AjaOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_LTC; + break; + case EMediaIOTimecodeFormat::VITC: + AjaOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_VITC1; + break; + default: + break; + } + bEncodeTimecodeInTexel = Options->GetMediaOption(AjaMediaOption::EncodeTimecodeInTexel, false); + } + { + const EAjaMediaAudioChannel AudioChannelOption = (EAjaMediaAudioChannel)(Options->GetMediaOption(AjaMediaOption::AudioChannel, (int64)EAjaMediaAudioChannel::Channel8)); + AjaOptions.NumberOfAudioChannel = (AudioChannelOption == EAjaMediaAudioChannel::Channel8) ? 8 : 6; + } + { + AjaOptions.VideoFormatIndex = Options->GetMediaOption(AjaMediaOption::AjaVideoFormat, (int64)0); + LastVideoFormatIndex = AjaOptions.VideoFormatIndex; + } + { + const EAjaMediaSourceColorFormat ColorFormat = (EAjaMediaSourceColorFormat)(Options->GetMediaOption(AjaMediaOption::ColorFormat, (int64)EAjaMediaSourceColorFormat::YUV2_8bit)); + switch(ColorFormat) + { + case EAjaMediaSourceColorFormat::YUV2_8bit: + if (AjaOptions.bUseKey) + { + AjaOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_ARGB; + } + else + { + AjaOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_YCBCR; + } + break; + case EAjaMediaSourceColorFormat::YUV_10bit: + if (AjaOptions.bUseKey) + { + AjaOptions.PixelFormat = AJA::EPixelFormat::PF_10BIT_RGB; + } + else + { + AjaOptions.PixelFormat = AJA::EPixelFormat::PF_10BIT_YCBCR; + } + break; + default: + AjaOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_ARGB; + break; + } + + bIsSRGBInput = Options->GetMediaOption(AjaMediaOption::SRGBInput, false); + } + { + AjaOptions.bUseAncillary = bUseAncillary = Options->GetMediaOption(AjaMediaOption::CaptureAncillary, false); + AjaOptions.bUseAudio = bUseAudio = Options->GetMediaOption(AjaMediaOption::CaptureAudio, false); + AjaOptions.bUseVideo = bUseVideo = Options->GetMediaOption(AjaMediaOption::CaptureVideo, true); + AjaOptions.bUseAutoCirculating = Options->GetMediaOption(AjaMediaOption::CaptureWithAutoCirculating, true); + AjaOptions.bUseKey = false; + AjaOptions.bBurnTimecode = false; + AjaOptions.BurnTimecodePercentY = 80; + } + + bVerifyFrameDropCount = Options->GetMediaOption(AjaMediaOption::LogDropFrame, true); + MaxNumAudioFrameBuffer = Options->GetMediaOption(AjaMediaOption::MaxAudioFrameBuffer, (int64)8); + MaxNumMetadataFrameBuffer = Options->GetMediaOption(AjaMediaOption::MaxAncillaryFrameBuffer, (int64)8); + MaxNumVideoFrameBuffer = Options->GetMediaOption(AjaMediaOption::MaxVideoFrameBuffer, (int64)8); + + check(InputChannel == nullptr); + InputChannel = new AJA::AJAInputChannel(); + if (!InputChannel->Initialize(DeviceOptions, AjaOptions)) + { + UE_LOG(LogAjaMedia, Warning, TEXT("The AJA port couldn't be opened.")); + CurrentState = EMediaState::Error; + AjaThreadNewState = EMediaState::Error; + delete InputChannel; + InputChannel = nullptr; + } + + // configure format information for base class + AudioTrackFormat.BitsPerSample = 32; + AudioTrackFormat.NumChannels = 0; + AudioTrackFormat.SampleRate = 48000; + AudioTrackFormat.TypeName = FString(TEXT("PCM")); + + // finalize + CurrentState = EMediaState::Preparing; + AjaThreadNewState = EMediaState::Preparing; + EventSink.ReceiveMediaEvent(EMediaEvent::MediaConnecting); + + return true; +} + +void FAjaMediaPlayer::Close() +{ + AjaThreadNewState = EMediaState::Closed; + + if (InputChannel) + { + InputChannel->Uninitialize(); // this may block, until the completion of a callback from IAJAChannelCallbackInterface + delete InputChannel; + InputChannel = nullptr; + } + + AudioSamplePool->Reset(); + MetadataSamplePool->Reset(); + TextureSamplePool->Reset(); + + AjaThreadCurrentAncSample.Reset(); + AjaThreadCurrentAncF2Sample.Reset(); + AjaThreadCurrentAudioSample.Reset(); + AjaThreadCurrentTextureSample.Reset(); + + Super::Close(); +} + + +FName FAjaMediaPlayer::GetPlayerName() const +{ + static FName PlayerName(TEXT("AJAMedia")); + return PlayerName; +} + + +FString FAjaMediaPlayer::GetStats() const +{ + FString Stats; + + Stats += FString::Printf(TEXT(" Input port: %s\n"), *GetUrl()); + Stats += FString::Printf(TEXT(" Frame rate: %s\n"), *VideoFrameRate.ToPrettyText().ToString()); + Stats += FString::Printf(TEXT(" AJA Mode: %s\n"), *VideoTrackFormat.TypeName); + + Stats += TEXT("\n\n"); + Stats += TEXT("Status\n"); + + if (bUseFrameTimecode) + { + //TODO This is not thread safe. + Stats += FString::Printf(TEXT(" Newest Timecode: %02d:%02d:%02d:%02d\n"), AjaThreadPreviousFrameTimecode.Hours, AjaThreadPreviousFrameTimecode.Minutes, AjaThreadPreviousFrameTimecode.Seconds, AjaThreadPreviousFrameTimecode.Frames); + } + else + { + Stats += FString::Printf(TEXT(" Timecode: Not Enabled\n")); + } + + if (bUseVideo) + { + Stats += FString::Printf(TEXT(" Buffered video frames: %d\n"), GetSamples().NumVideoSamples()); + } + else + { + Stats += FString::Printf(TEXT(" Buffered video frames: Not enabled\n")); + } + + if (bUseAudio) + { + Stats += FString::Printf(TEXT(" Buffered audio frames: %d\n"), GetSamples().NumAudioSamples()); + } + else + { + Stats += FString::Printf(TEXT(" Buffered audio frames: Not enabled\n")); + } + + Stats += FString::Printf(TEXT(" Frames dropped: %d"), LastFrameDropCount); + + return Stats; +} + + +void FAjaMediaPlayer::TickFetch(FTimespan DeltaTime, FTimespan /*Timecode*/) +{ + if (InputChannel && CurrentState == EMediaState::Playing) + { + ProcessFrame(); + VerifyFrameDropCount(); + } +} + + +void FAjaMediaPlayer::TickInput(FTimespan DeltaTime, FTimespan Timecode) +{ + // update player state + EMediaState NewState = AjaThreadNewState; + + if (NewState != CurrentState) + { + CurrentState = NewState; + if (CurrentState == EMediaState::Playing) + { + EventSink.ReceiveMediaEvent(EMediaEvent::TracksChanged); + EventSink.ReceiveMediaEvent(EMediaEvent::MediaOpened); + EventSink.ReceiveMediaEvent(EMediaEvent::PlaybackResumed); + } + else if (NewState == EMediaState::Error) + { + EventSink.ReceiveMediaEvent(EMediaEvent::MediaOpenFailed); + Close(); + } + } + + if (CurrentState != EMediaState::Playing) + { + return; + } + + TickTimeManagement(); +} + + +/* FAjaMediaPlayer implementation + *****************************************************************************/ +void FAjaMediaPlayer::ProcessFrame() +{ + if (CurrentState == EMediaState::Playing) + { + // No need to lock here. That info is only used for debug information. + AudioTrackFormat.NumChannels = AjaThreadAudioChannels; + AudioTrackFormat.SampleRate = AjaThreadAudioSampleRate; + } +} + +void FAjaMediaPlayer::VerifyFrameDropCount() +{ + //Verify if a buffer is in overflow state. Popping samples MUST be done from the GameThread to respect single consumer + + //Anc buffer + int32 MetaDataOverflowCount = FMath::Max(Samples->NumMetadataSamples() - MaxNumMetadataFrameBuffer, 0); + for (int32 i = 0; i < MetaDataOverflowCount; ++i) + { + Samples->PopMetadata(); + } + + //Audio buffer + int32 AudioOverflowCount = FMath::Max(Samples->NumAudioSamples() - MaxNumAudioFrameBuffer, 0); + for (int32 i = 0; i < AudioOverflowCount; ++i) + { + Samples->PopAudio(); + } + + //Video buffer + int32 VideoOverflowCount = FMath::Max(Samples->NumVideoSamples() - MaxNumVideoFrameBuffer, 0); + for (int32 i = 0; i < VideoOverflowCount; ++i) + { + Samples->PopVideo(); + } + + if (bVerifyFrameDropCount) + { + uint32 FrameDropCount = AjaThreadFrameDropCount; + if (FrameDropCount > LastFrameDropCount) + { + PreviousFrameDropCount += FrameDropCount - LastFrameDropCount; + + static const int32 NumMaxFrameBeforeWarning = 50; + if (PreviousFrameDropCount % NumMaxFrameBeforeWarning == 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Loosing frames on AJA input %s. The current count is %d."), *GetUrl(), PreviousFrameDropCount); + } + } + else if (PreviousFrameDropCount > 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Lost %d frames on input %s. UE4 frame rate is too slow and the capture card was not able to send the frame(s) to UE4."), PreviousFrameDropCount, *GetUrl()); + PreviousFrameDropCount = 0; + } + LastFrameDropCount = FrameDropCount; + + MetaDataOverflowCount += FPlatformAtomics::InterlockedExchange(&AjaThreadAutoCirculateMetadataFrameDropCount, 0); + if (MetaDataOverflowCount > 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Lost %d metadata frames on input %s. Frame rate is either too slow or buffering capacity is too small."), MetaDataOverflowCount, *GetUrl()); + } + + AudioOverflowCount += FPlatformAtomics::InterlockedExchange(&AjaThreadAutoCirculateAudioFrameDropCount, 0); + if (AudioOverflowCount > 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Lost %d audio frames on input %s. Frame rate is either too slow or buffering capacity is too small."), AudioOverflowCount, *GetUrl()); + } + + VideoOverflowCount += FPlatformAtomics::InterlockedExchange(&AjaThreadAutoCirculateVideoFrameDropCount, 0); + if (bVerifyFrameDropCount && VideoOverflowCount > 0) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Lost %d video frames on input %s. Frame rate is either too slow or buffering capacity is too small."), VideoOverflowCount, *GetUrl()); + } + } +} + + +/* IAJAInputOutputCallbackInterface implementation +// This is called from the AJA thread. There's a lock inside AJA to prevent this object from dying while in this thread. +*****************************************************************************/ +void FAjaMediaPlayer::OnInitializationCompleted(bool bSucceed) +{ + if (bSucceed) + { + LastFrameDropCount = InputChannel->GetFrameDropCount(); + } + AjaThreadNewState = bSucceed ? EMediaState::Playing : EMediaState::Error; +} + + +void FAjaMediaPlayer::OnCompletion(bool bSucceed) +{ + AjaThreadNewState = bSucceed ? EMediaState::Closed : EMediaState::Error; +} + + +bool FAjaMediaPlayer::OnRequestInputBuffer(const AJA::AJARequestInputBufferData& InRequestBuffer, AJA::AJARequestedInputBufferData& OutRequestedBuffer) +{ + SCOPE_CYCLE_COUNTER(STAT_AJA_MediaPlayer_RequestFrame); + + // Do not request a video buffer if the frame is interlaced. We need 2 samples and we need to process them. + //We would be able when we have a de-interlacer on the GPU. + + if (AjaThreadNewState != EMediaState::Playing) + { + return false; + } + + // Anc Field 1 + if (bUseAncillary && InRequestBuffer.AncBufferSize > 0) + { + const int32 NumMetadataSamples = Samples->NumMetadataSamples(); + if (NumMetadataSamples >= MaxNumMetadataFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + if (bVerifyFrameDropCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateMetadataFrameDropCount); + } + } + else + { + AjaThreadCurrentAncSample = MetadataSamplePool->AcquireShared(); + OutRequestedBuffer.AncBuffer = reinterpret_cast(AjaThreadCurrentAncSample->RequestBuffer(InRequestBuffer.AncBufferSize)); + } + } + + // Anc Field 2 + if (bUseAncillary && InRequestBuffer.AncF2BufferSize > 0) + { + const int32 NumMetadataSamples = Samples->NumMetadataSamples(); + if (NumMetadataSamples >= MaxNumMetadataFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + if (bVerifyFrameDropCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateMetadataFrameDropCount); + } + } + else + { + AjaThreadCurrentAncF2Sample = MetadataSamplePool->AcquireShared(); + OutRequestedBuffer.AncBuffer = reinterpret_cast(AjaThreadCurrentAncF2Sample->RequestBuffer(InRequestBuffer.AncF2BufferSize)); + } + } + + // Audio + if (bUseAudio && InRequestBuffer.AudioBufferSize > 0) + { + const int32 NumAudioSamples = Samples->NumAudioSamples(); + if (NumAudioSamples >= MaxNumAudioFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + if (bVerifyFrameDropCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateAudioFrameDropCount); + } + } + else + { + AjaThreadCurrentAudioSample = AudioSamplePool->AcquireShared(); + OutRequestedBuffer.AudioBuffer = reinterpret_cast(AjaThreadCurrentAudioSample->RequestBuffer(InRequestBuffer.AudioBufferSize)); + } + } + + // Video + if (bUseVideo && InRequestBuffer.VideoBufferSize > 0 && InRequestBuffer.bIsProgressivePicture) + { + const int32 NumVideoSamples = Samples->NumVideoSamples(); + if (NumVideoSamples >= MaxNumVideoFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + if (bVerifyFrameDropCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateVideoFrameDropCount); + } + } + else + { + AjaThreadCurrentTextureSample = TextureSamplePool->AcquireShared(); + OutRequestedBuffer.VideoBuffer = reinterpret_cast(AjaThreadCurrentTextureSample->RequestBuffer(InRequestBuffer.VideoBufferSize)); + } + } + + return true; +} + + +bool FAjaMediaPlayer::OnInputFrameReceived(const AJA::AJAInputFrameData& InInputFrame, const AJA::AJAAncillaryFrameData& InAncillaryFrame, const AJA::AJAAudioFrameData& InAudioFrame, const AJA::AJAVideoFrameData& InVideoFrame) +{ + SCOPE_CYCLE_COUNTER(STAT_AJA_MediaPlayer_ProcessFrame); + + if (AjaThreadNewState != EMediaState::Playing) + { + return false; + } + + AjaThreadFrameDropCount = InInputFrame.FramesDropped; + + FTimespan DecodedTime = FTimespan::FromSeconds(FPlatformTime::Seconds()); + FTimespan DecodedTimeF2 = DecodedTime + FTimespan::FromSeconds(VideoFrameRate.AsInterval()); + + TOptional DecodedTimecode; + TOptional DecodedTimecodeF2; + if (bUseFrameTimecode) + { + //We expect the timecode to be processed in the library. What we receive will be a "linear" timecode even for frame rates greater than 30. + const int32 FrameLimit = InVideoFrame.bIsProgressivePicture ? FMath::RoundToInt(VideoFrameRate.AsDecimal()) : FMath::RoundToInt(VideoFrameRate.AsDecimal()) - 1; + if ((int32)InInputFrame.Timecode.Frames >= FrameLimit) + { + UE_LOG(LogAjaMedia, Warning, TEXT("Input %s received an invalid Timecode frame number (%d) for the current frame rate (%s)."), *GetUrl(), InInputFrame.Timecode.Frames, *VideoFrameRate.ToPrettyText().ToString()); + } + + DecodedTimecode = FAja::ConvertAJATimecode2Timecode(InInputFrame.Timecode, VideoFrameRate); + DecodedTimecodeF2 = DecodedTimecode; + ++DecodedTimecodeF2->Frames; + + FTimespan TimecodeDecodedTime = DecodedTimecode.GetValue().ToTimespan(VideoFrameRate); + if (bUseTimeSynchronization) + { + DecodedTime = TimecodeDecodedTime; + DecodedTimeF2 = TimecodeDecodedTime + FTimespan::FromSeconds(VideoFrameRate.AsInterval()); + } + + //Previous frame Timecode for stats purposes + AjaThreadPreviousFrameTimecode = InInputFrame.Timecode; + + if (bIsTimecodeLogEnable) + { + UE_LOG(LogAjaMedia, Log, TEXT("Input %s has timecode : %02d:%02d:%02d:%02d"), *GetUrl(), InInputFrame.Timecode.Hours, InInputFrame.Timecode.Minutes, InInputFrame.Timecode.Seconds, InInputFrame.Timecode.Frames); + } + } + + // Anc Field 1 + if (bUseAncillary && InAncillaryFrame.AncBuffer) + { + if (AjaThreadCurrentAncSample.IsValid()) + { + if (AjaThreadCurrentAncSample->SetProperties(DecodedTime, VideoFrameRate, DecodedTimecode)) + { + Samples->AddMetadata(AjaThreadCurrentAncSample.ToSharedRef()); + } + } + else + { + const int32 NumMetadataSamples = Samples->NumMetadataSamples(); + if (NumMetadataSamples >= MaxNumMetadataFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateMetadataFrameDropCount); + } + else + { + auto MetaDataSample = MetadataSamplePool->AcquireShared(); + if (MetaDataSample->Initialize(InAncillaryFrame.AncBuffer, InAncillaryFrame.AncBufferSize, DecodedTime, VideoFrameRate, DecodedTimecode)) + { + Samples->AddMetadata(MetaDataSample); + } + } + } + } + + // Anc Field 2 + if (bUseAncillary && InAncillaryFrame.AncF2Buffer && !InVideoFrame.bIsProgressivePicture) + { + if (AjaThreadCurrentAncF2Sample.IsValid()) + { + if (AjaThreadCurrentAncF2Sample->SetProperties(DecodedTimeF2, VideoFrameRate, DecodedTimecodeF2)) + { + Samples->AddMetadata(AjaThreadCurrentAncF2Sample.ToSharedRef()); + } + } + else + { + const int32 NumMetadataSamples = Samples->NumMetadataSamples(); + if (NumMetadataSamples >= MaxNumMetadataFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateMetadataFrameDropCount); + } + else + { + auto MetaDataSample = MetadataSamplePool->AcquireShared(); + if (MetaDataSample->Initialize(InAncillaryFrame.AncF2Buffer, InAncillaryFrame.AncF2BufferSize, DecodedTimeF2, VideoFrameRate, DecodedTimecodeF2)) + { + Samples->AddMetadata(MetaDataSample); + } + } + } + } + + // Audio + if (bUseAudio && InAudioFrame.AudioBuffer) + { + if (AjaThreadCurrentAudioSample.IsValid()) + { + if (AjaThreadCurrentAudioSample->SetProperties(InAudioFrame.AudioBufferSize / sizeof(int32), InAudioFrame.NumChannels, InAudioFrame.AudioRate, DecodedTime, DecodedTimecode)) + { + Samples->AddAudio(AjaThreadCurrentAudioSample.ToSharedRef()); + } + + AjaThreadAudioChannels = AjaThreadCurrentAudioSample->GetChannels(); + AjaThreadAudioSampleRate = AjaThreadCurrentAudioSample->GetSampleRate(); + } + else + { + if (Samples->NumAudioSamples() >= MaxNumAudioFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateAudioFrameDropCount); + } + else + { + auto AudioSample = AudioSamplePool->AcquireShared(); + if (AudioSample->Initialize(InAudioFrame, DecodedTime, DecodedTimecode)) + { + Samples->AddAudio(AudioSample); + } + + AjaThreadAudioChannels = AudioSample->GetChannels(); + AjaThreadAudioSampleRate = AudioSample->GetSampleRate(); + } + } + } + + // Video + if (bUseVideo && InVideoFrame.VideoBuffer) + { + EMediaTextureSampleFormat VideoSampleFormat = EMediaTextureSampleFormat::CharBGRA; + EMediaIOCoreEncodePixelFormat EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharBGRA; + FString OutputFilename = ""; + + switch (InVideoFrame.PixelFormat) + { + case AJA::EPixelFormat::PF_8BIT_ARGB: + VideoSampleFormat = EMediaTextureSampleFormat::CharBGRA; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharBGRA; + OutputFilename = "Aja_Output_8_RGBA"; + break; + case AJA::EPixelFormat::PF_8BIT_YCBCR: + VideoSampleFormat = EMediaTextureSampleFormat::CharUYVY; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharUYVY; + OutputFilename = "Aja_Output_8_YUV"; + break; + case AJA::EPixelFormat::PF_10BIT_RGB: + VideoSampleFormat = EMediaTextureSampleFormat::CharBGR10A2; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::A2B10G10R10; + OutputFilename = "Aja_Output_10_RGBA"; + break; + case AJA::EPixelFormat::PF_10BIT_YCBCR: + VideoSampleFormat = EMediaTextureSampleFormat::YUVv210; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::YUVv210; + OutputFilename = "Aja_Output_10_YUV"; + break; + } + + if (bEncodeTimecodeInTexel && DecodedTimecode.IsSet() && InVideoFrame.bIsProgressivePicture) + { + FTimecode SetTimecode = DecodedTimecode.GetValue(); + FMediaIOCoreEncodeTime EncodeTime(EncodePixelFormat, InVideoFrame.VideoBuffer, InVideoFrame.Stride, InVideoFrame.Width, InVideoFrame.Height); + EncodeTime.Render(SetTimecode.Hours, SetTimecode.Minutes, SetTimecode.Seconds, SetTimecode.Frames); + } + + if (bAjaWriteOutputRawDataCmdEnable) + { + MediaIOCoreFileWriter::WriteRawFile(OutputFilename, reinterpret_cast(InVideoFrame.VideoBuffer), InVideoFrame.Stride * InVideoFrame.Height); + bAjaWriteOutputRawDataCmdEnable = false; + } + + if (AjaThreadCurrentTextureSample.IsValid()) + { + if (AjaThreadCurrentTextureSample->UpdateProperties(InVideoFrame.Stride, InVideoFrame.Width, InVideoFrame.Height, VideoSampleFormat, DecodedTime, VideoFrameRate, DecodedTimecode, bIsSRGBInput)) + { + Samples->AddVideo(AjaThreadCurrentTextureSample.ToSharedRef()); + } + } + else + { + const int32 NumVideoSamples = Samples->NumVideoSamples() + (!InVideoFrame.bIsProgressivePicture ? 1 : 0); + if (NumVideoSamples >= MaxNumVideoFrameBuffer * AjaMediaPlayerConst::ToleratedExtraMaxBufferCount) + { + FPlatformAtomics::InterlockedIncrement(&AjaThreadAutoCirculateVideoFrameDropCount); + } + else + { + auto TextureSample = TextureSamplePool->AcquireShared(); + if (InVideoFrame.bIsProgressivePicture) + { + if (TextureSample->InitializeProgressive(InVideoFrame, VideoSampleFormat, DecodedTime, VideoFrameRate, DecodedTimecode, bIsSRGBInput)) + { + Samples->AddVideo(TextureSample); + } + } + else + { + bool bEven = true; + if (TextureSample->InitializeInterlaced_Halfed(InVideoFrame, VideoSampleFormat, DecodedTime, VideoFrameRate, DecodedTimecode, bEven, bIsSRGBInput)) + { + Samples->AddVideo(TextureSample); + } + + auto TextureSampleOdd = TextureSamplePool->AcquireShared(); + bEven = false; + if (TextureSampleOdd->InitializeInterlaced_Halfed(InVideoFrame, VideoSampleFormat, DecodedTimeF2, VideoFrameRate, DecodedTimecodeF2, bEven, bIsSRGBInput)) + { + Samples->AddVideo(TextureSampleOdd); + } + } + } + } + + AjaThreadCurrentAncSample.Reset(); + AjaThreadCurrentAncF2Sample.Reset(); + AjaThreadCurrentAudioSample.Reset(); + AjaThreadCurrentTextureSample.Reset(); + } + + return true; +} + + +bool FAjaMediaPlayer::OnOutputFrameCopied(const AJA::AJAOutputFrameData& InFrameData) +{ + // this is not supported + check(false); + return false; +} + +bool FAjaMediaPlayer::IsHardwareReady() const +{ + return AjaThreadNewState == EMediaState::Playing ? true : false; +} + +#undef LOCTEXT_NAMESPACE + +#include "AjaMediaHidePlatformTypes.h" diff --git a/Source/AjaMedia/Private/Player/AjaMediaPlayer.h b/Source/AjaMedia/Private/Player/AjaMediaPlayer.h new file mode 100644 index 0000000..7504527 --- /dev/null +++ b/Source/AjaMedia/Private/Player/AjaMediaPlayer.h @@ -0,0 +1,153 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaIOCorePlayerBase.h" + +#include "AjaMediaPrivate.h" +#include "AjaMediaSource.h" + +class FAjaMediaAudioSample; +class FAjaMediaAudioSamplePool; +class FAjaMediaBinarySamplePool; +class FAjaMediaTextureSample; +class FAjaMediaTextureSamplePool; +class FMediaIOCoreBinarySampleBase; +class IMediaEventSink; + +enum class EMediaTextureSampleFormat; + +namespace AJA +{ + class AJAInputChannel; +} + +/** + * Implements a media player using AJA. + * + * The processing of metadata and video frames is delayed until the fetch stage + * (TickFetch) in order to increase the window of opportunity for receiving AJA + * frames for the current render frame time code. + * + * Depending on whether the media source enables time code synchronization, + * the player's current play time (CurrentTime) is derived either from the + * time codes embedded in AJA frames or from the Engine's global time code. + */ +class FAjaMediaPlayer + : public FMediaIOCorePlayerBase + , protected AJA::IAJAInputOutputChannelCallbackInterface +{ + using Super = FMediaIOCorePlayerBase; +public: + + /** + * Create and initialize a new instance. + * + * @param InEventSink The object that receives media events from this player. + */ + FAjaMediaPlayer(IMediaEventSink& InEventSink); + + /** Virtual destructor. */ + virtual ~FAjaMediaPlayer(); + +public: + + //~ IMediaPlayer interface + + virtual void Close() override; + virtual FName GetPlayerName() const override; + + virtual bool Open(const FString& Url, const IMediaOptions* Options) override; + + virtual void TickFetch(FTimespan DeltaTime, FTimespan Timecode) override; + virtual void TickInput(FTimespan DeltaTime, FTimespan Timecode) override; + + virtual FString GetStats() const override; + +protected: + + //~ IAJAInputOutputCallbackInterface interface + + virtual void OnInitializationCompleted(bool bSucceed) override; + virtual bool OnRequestInputBuffer(const AJA::AJARequestInputBufferData& InRequestBuffer, AJA::AJARequestedInputBufferData& OutRequestedBuffer) override; + virtual bool OnInputFrameReceived(const AJA::AJAInputFrameData& InInputFrame, const AJA::AJAAncillaryFrameData& InAncillaryFrame, const AJA::AJAAudioFrameData& AudioFrame, const AJA::AJAVideoFrameData& VideoFrame) override; + virtual bool OnOutputFrameCopied(const AJA::AJAOutputFrameData& InFrameData) override; + virtual void OnCompletion(bool bSucceed) override; + +protected: + + /** + * Process pending audio and video frames, and forward them to the sinks. + */ + void ProcessFrame(); + +protected: + + /** Verify if we lost some frames since last Tick*/ + void VerifyFrameDropCount(); + + + virtual bool IsHardwareReady() const override; + +private: + + /** Audio, MetaData, Texture sample object pool. */ + FAjaMediaAudioSamplePool* AudioSamplePool; + FAjaMediaBinarySamplePool* MetadataSamplePool; + FAjaMediaTextureSamplePool* TextureSamplePool; + + TSharedPtr AjaThreadCurrentAncSample; + TSharedPtr AjaThreadCurrentAncF2Sample; + TSharedPtr AjaThreadCurrentAudioSample; + TSharedPtr AjaThreadCurrentTextureSample; + + /** The media sample cache. */ + int32 MaxNumAudioFrameBuffer; + int32 MaxNumMetadataFrameBuffer; + int32 MaxNumVideoFrameBuffer; + + /** Current state of the media player. */ + EMediaState AjaThreadNewState; + + /** The media event handler. */ + IMediaEventSink& EventSink; + + /** Number of audio channels in the last received sample. */ + int32 AjaThreadAudioChannels; + + /** Audio sample rate in the last received sample. */ + int32 AjaThreadAudioSampleRate; + + /** Number of frames drop from the last tick. */ + int32 AjaThreadFrameDropCount; + int32 AjaThreadAutoCirculateAudioFrameDropCount; + int32 AjaThreadAutoCirculateMetadataFrameDropCount; + int32 AjaThreadAutoCirculateVideoFrameDropCount; + + /** Number of frames drop from the last tick. */ + uint32 LastFrameDropCount; + uint32 PreviousFrameDropCount; + + /** Whether to use the time code embedded in AJA frames. */ + bool bEncodeTimecodeInTexel; + + /** Whether to use the timecode embedded in a frame. */ + bool bUseFrameTimecode; + + /** Whether the input is in sRGB and can have a ToLinear conversion. */ + bool bIsSRGBInput; + + /** Which field need to be capture. */ + bool bUseAncillary; + bool bUseAudio; + bool bUseVideo; + bool bVerifyFrameDropCount; + + /** Maps to the current input Device */ + AJA::AJAInputChannel* InputChannel; + + /** Frame Description from capture device */ + AJA::FAJAVideoFormat LastVideoFormatIndex; + /** Previous frame timecode for stats purpose */ + AJA::FTimecode AjaThreadPreviousFrameTimecode; +}; diff --git a/Source/AjaMedia/Private/Player/AjaMediaTextureSample.h b/Source/AjaMedia/Private/Player/AjaMediaTextureSample.h new file mode 100644 index 0000000..dce5d30 --- /dev/null +++ b/Source/AjaMedia/Private/Player/AjaMediaTextureSample.h @@ -0,0 +1,116 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaIOCoreTextureSampleBase.h" +#include "MediaShaders.h" + +/** + * Implements a media texture sample for AjaMedia. + */ +class FAjaMediaTextureSample + : public FMediaIOCoreTextureSampleBase +{ + using Super = FMediaIOCoreTextureSampleBase; + +public: + + /** + * Initialize the sample. + * + * @param InVideoData The video frame data. + * @param InSampleFormat The sample format. + * @param InTime The sample time (in the player's own clock). + * @param InFrameRate The framerate of the media that produce the sample. + * @param InTimecode The sample timecode if available. + */ + bool InitializeProgressive(const AJA::AJAVideoFrameData& InVideoData, EMediaTextureSampleFormat InSampleFormat, FTimespan InTime, const FFrameRate& InFrameRate, const TOptional& InTimecode, bool bInIsSRGB) + { + bIsSRGBInput = bInIsSRGB; + + return Super::Initialize(InVideoData.VideoBuffer + , InVideoData.VideoBufferSize + , InVideoData.Stride + , InVideoData.Width + , InVideoData.Height + , InSampleFormat + , InTime + , InFrameRate + , InTimecode); + } + + /** + * Initialize the sample. + * + * @param InVideoData The video frame data. + * @param InSampleFormat The sample format. + * @param InTime The sample time (in the player's own clock). + * @param InFrameRate The framerate of the media that produce the sample. + * @param InTimecode The sample timecode if available. + * @param bEven Only take the even frame from the image. + */ + bool InitializeInterlaced_Halfed(const AJA::AJAVideoFrameData& InVideoData, EMediaTextureSampleFormat InSampleFormat, FTimespan InTime, const FFrameRate& InFrameRate, const TOptional& InTimecode, bool bInEven, bool bInIsSRGB) + { + bIsSRGBInput = bInIsSRGB; + + return Super::InitializeWithEvenOddLine(bInEven + , InVideoData.VideoBuffer + , InVideoData.VideoBufferSize + , InVideoData.Stride + , InVideoData.Width + , InVideoData.Height + , InSampleFormat + , InTime + , InFrameRate + , InTimecode); + } + + /** + * Set the sample properties. + * + * @param InStride The number of channel of the video buffer. + * @param InWidth The sample rate of the video buffer. + * @param InHeight The sample rate of the video buffer. + * @param InSampleFormat The sample format of the video buffer. + * @param InTime The sample time (in the player's own clock). + * @param InFrameRate The framerate of the media that produce the sample. + * @param InTimecode The sample timecode if available. + * @param bInIsSRGB Whether the sample is in sRGB space. + */ + bool UpdateProperties(uint32 InStride, uint32 InWidth, uint32 InHeight, EMediaTextureSampleFormat InSampleFormat, FTimespan InTime, const FFrameRate& InFrameRate, const TOptional& InTimecode, bool bInIsSRGB) + { + bIsSRGBInput = bInIsSRGB; + + return Super::SetProperties(InStride, InWidth, InHeight, InSampleFormat, InTime, InFrameRate, InTimecode); + } + + /** + * Is output Srgb + * + * @return false + */ + virtual bool IsOutputSrgb() const override + { + return bIsSRGBInput; + } + + /** + * Get YUV to RGB conversion matrix + * + * @return MediaIOCore Yuv To Rgb matrix + */ + virtual const FMatrix& GetYUVToRGBMatrix() const override + { + return MediaShaders::YuvToRgbRec709Full; + } + +protected: + + /** Wheter the sample is in sRGB space and requires an explicit conversion to linear */ + bool bIsSRGBInput; +}; + +/* + * Implements a pool for AJA texture sample objects. + */ +class FAjaMediaTextureSamplePool : public TMediaObjectPool { }; diff --git a/Source/AjaMedia/Private/Shared/AjaMediaAllowPlatformTypes.h b/Source/AjaMedia/Private/Shared/AjaMediaAllowPlatformTypes.h new file mode 100644 index 0000000..e5f4c07 --- /dev/null +++ b/Source/AjaMedia/Private/Shared/AjaMediaAllowPlatformTypes.h @@ -0,0 +1,22 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#ifndef AJA_PLATFORM_TYPES_GUARD + #define AJA_PLATFORM_TYPES_GUARD +#else + #error Nesting AjaAllowPlatformTypes.h is not allowed! +#endif + +#ifndef PLATFORM_WINDOWS + #include "Processing.AJA.compat.h" +#endif + +#define DWORD ::DWORD +#define FLOAT ::FLOAT + +#ifndef TRUE + #define TRUE 1 +#endif + +#ifndef FALSE + #define FALSE 0 +#endif diff --git a/Source/AjaMedia/Private/Shared/AjaMediaHidePlatformTypes.h b/Source/AjaMedia/Private/Shared/AjaMediaHidePlatformTypes.h new file mode 100644 index 0000000..3dabb98 --- /dev/null +++ b/Source/AjaMedia/Private/Shared/AjaMediaHidePlatformTypes.h @@ -0,0 +1,18 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#ifdef AJA_PLATFORM_TYPES_GUARD + #undef AJA_PLATFORM_TYPES_GUARD +#else + #error Mismatched AjaHidePLatformTypes.h detected. +#endif + +#undef DWORD +#undef FLOAT + +#ifdef TRUE + #undef TRUE +#endif + +#ifdef FALSE + #undef FALSE +#endif diff --git a/Source/AjaMedia/Public/AjaCustomTimeStep.h b/Source/AjaMedia/Public/AjaCustomTimeStep.h new file mode 100644 index 0000000..2db2b3d --- /dev/null +++ b/Source/AjaMedia/Public/AjaCustomTimeStep.h @@ -0,0 +1,101 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "FixedFrameRateCustomTimeStep.h" + +#include "AJALib.h" +#include "MediaIOCoreDefinitions.h" +#include "AjaMediaSource.h" + +#include "Misc/Timecode.h" + +#include "AjaCustomTimeStep.generated.h" + +class UEngine; + +/** + * Control the Engine TimeStep via the AJA card. + * When the signal is lost in the editor (not in PIE), the CustomTimeStep will try to re-synchronize every second. + */ +UCLASS(Blueprintable, editinlinenew, meta=(DisplayName="AJA SDI Input", MediaIOCustomLayout="AJA")) +class AJAMEDIA_API UAjaCustomTimeStep : public UFixedFrameRateCustomTimeStep +{ + GENERATED_UCLASS_BODY() + +public: + //~ UFixedFrameRateCustomTimeStep interface + virtual bool Initialize(UEngine* InEngine) override; + virtual void Shutdown(UEngine* InEngine) override; + virtual bool UpdateTimeStep(UEngine* InEngine) override; + virtual ECustomTimeStepSynchronizationState GetSynchronizationState() const override; + virtual FFrameRate GetFixedFrameRate() const override; + + //~ UObject interface + virtual void BeginDestroy() override; +#if WITH_EDITOR + virtual void PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) override; +#endif // WITH_EDITOR + +private: + struct FAJACallback; + friend FAJACallback; + + void WaitForSync(); + void ReleaseResources(); + +public: + /** + * If true, the Engine will wait for a signal coming in from the Reference In pin. + * It will also configure the card Genlock mode and configure the selected Media Port as an output. + */ + UPROPERTY(EditAnywhere, Category="Genlock") + bool bUseReferenceIn; + + /** The device, port and video settings that correspond to where the Genlock signal will be coming from */ + UPROPERTY(EditAnywhere, Category="Genlock", meta=(DisplayName="Configuration")) + FMediaIOConfiguration MediaConfiguration; + + /** + * If true, the Engine will wait for the frame to be read. + * This will introduce random latency (the time it takes to read a frame). + * Use this option when you want to synchronize the engine with the incoming frame and discard the buffered frames. + * @note If false, there is no guarantee that the incoming frame will be ready since it takes some time to read a frame. + * @note This will not work as intended with interlaced transport because both fields are processed at the same time. + */ + UPROPERTY(EditAnywhere, Category = "Genlock options", meta=(EditCondition="!bUseReferenceIn")) + bool bWaitForFrameToBeReady; + + /** The type of Timecode to read from SDI stream. */ + UPROPERTY(EditAnywhere, Category="Genlock options", meta=(EditCondition="!bUseReferenceIn")) + EMediaIOTimecodeFormat TimecodeFormat; + + /** Enable mechanism to detect Engine loop overrunning the source */ + UPROPERTY(EditAnywhere, Category="Genlock options", meta=(DisplayName="Display Dropped Frames Warning")) + bool bEnableOverrunDetection; + +private: + /** AJA Port to capture the Sync */ + AJA::AJASyncChannel* SyncChannel; + FAJACallback* SyncCallback; + +#if WITH_EDITORONLY_DATA + /** Engine used to initialize the CustomTimeStep */ + UPROPERTY(Transient) + UEngine* InitializedEngine; + + /** When Auto synchronize is enabled, the time the last attempt was triggered. */ + double LastAutoSynchronizeInEditorAppTime; +#endif + + /** The current SynchronizationState of the CustomTimeStep */ + ECustomTimeStepSynchronizationState State; + bool bDidAValidUpdateTimeStep; + + /** Warn if there is a CustomTimeStep and a vsync at the same time but only once. */ + bool bWarnedAboutVSync; + + /** Remember if the last */ + bool bIsPreviousSyncCountValid; + uint32 PreviousSyncCount; +}; diff --git a/Source/AjaMedia/Public/AjaDeviceProvider.h b/Source/AjaMedia/Public/AjaDeviceProvider.h new file mode 100644 index 0000000..6e81abe --- /dev/null +++ b/Source/AjaMedia/Public/AjaDeviceProvider.h @@ -0,0 +1,112 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "IMediaIOCoreDeviceProvider.h" +#include "UObject/ObjectMacros.h" +#include "AjaDeviceProvider.generated.h" + + +/** + * Configuration of an AJA timecode from Video + */ +USTRUCT() +struct AJAMEDIA_API FAjaMediaTimecodeConfiguration +{ + GENERATED_BODY() + + FAjaMediaTimecodeConfiguration(); + + /** Used by the UX to have a default selected value. May not be valid with every device. */ + static FAjaMediaTimecodeConfiguration GetDefault(); + +public: + /** Read the timecode from a video signal. */ + UPROPERTY(VisibleAnywhere, Category=AJA) + FMediaIOConfiguration MediaConfiguration; + + /** Timecode format to read from a video signal. */ + UPROPERTY(VisibleAnywhere, Category=AJA) + EMediaIOTimecodeFormat TimecodeFormat; + +public: + + /** Return true if the configuration has been set properly */ + bool IsValid() const; + + bool operator== (const FAjaMediaTimecodeConfiguration& Other) const; + + /** + * Get the configuration text representation. + * @return String representation, i.e. "Video/Single1/1080p30fps/LTC". + */ + FText ToText() const; +}; + +/** + * Configuration of an AJA timecode. + */ +USTRUCT() +struct AJAMEDIA_API FAjaMediaTimecodeReference +{ + GENERATED_BODY() + + FAjaMediaTimecodeReference(); + + /** Used by the UX to have a default selected value. May not be valid with every device. */ + static FAjaMediaTimecodeReference GetDefault(); + +public: + /** The frame rate of the LTC from the reference pin.*/ + UPROPERTY(VisibleAnywhere, Category=AJA) + FMediaIODevice Device; + + /** The LTC index to read from the reference pin. */ + UPROPERTY(VisibleAnywhere, Category=AJA) + int32 LtcIndex; + + /** The frame rate of the LTC from the reference pin.*/ + UPROPERTY(VisibleAnywhere, Category=AJA) + FFrameRate LtcFrameRate; + +public: + /** Return true if the configuration has been set properly */ + bool IsValid() const; + + bool operator== (const FAjaMediaTimecodeReference& Other) const; + + /** Get the configuration text representation. */ + FText ToText() const; +}; + +/** + * Implementation of IMediaIOCoreDeviceProvider for AJA + */ +class AJAMEDIA_API FAjaDeviceProvider : public IMediaIOCoreDeviceProvider +{ +public: + static FName GetProviderName(); + static FName GetProtocolName(); + + /** Can device do fill and key */ + bool CanDeviceDoAlpha(const FMediaIODevice& InDevice) const; + +public: + virtual FName GetFName() override; + + virtual TArray GetConnections() const override; + virtual TArray GetConfigurations() const override; + virtual TArray GetConfigurations(bool bAllowInput, bool bAllowOutput) const override; + virtual TArray GetInputConfigurations() const override; + virtual TArray GetOutputConfigurations() const override; + virtual TArray GetDevices() const override; + virtual TArray GetModes(const FMediaIODevice& InDevice, bool bInOutput) const override; + TArray GetTimecodeConfiguration() const; + TArray GetTimecodeReferences() const; + + virtual FMediaIOConfiguration GetDefaultConfiguration() const override; + virtual FMediaIOMode GetDefaultMode() const override; + virtual FMediaIOInputConfiguration GetDefaultInputConfiguration() const override; + virtual FMediaIOOutputConfiguration GetDefaultOutputConfiguration() const override; +}; diff --git a/Source/AjaMedia/Public/AjaMediaSettings.h b/Source/AjaMedia/Public/AjaMediaSettings.h new file mode 100644 index 0000000..ce8b830 --- /dev/null +++ b/Source/AjaMedia/Public/AjaMediaSettings.h @@ -0,0 +1,16 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" + +#include "AjaMediaSettings.generated.h" + +/** + * Settings for the AjaMedia plug-in. + */ +UCLASS(config=AjaMedia) +class AJAMEDIA_API UAjaMediaSettings : public UObject +{ + GENERATED_BODY() +}; diff --git a/Source/AjaMedia/Public/AjaMediaSource.h b/Source/AjaMedia/Public/AjaMediaSource.h new file mode 100644 index 0000000..5af2a44 --- /dev/null +++ b/Source/AjaMedia/Public/AjaMediaSource.h @@ -0,0 +1,138 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "TimeSynchronizableMediaSource.h" + +#include "MediaIOCoreDefinitions.h" + +#include "AjaMediaSource.generated.h" + +/** + * Native data format. + */ +UENUM() +enum class EAjaMediaSourceColorFormat : uint8 +{ + YUV2_8bit UMETA(DisplayName = "8bit YUV"), + YUV_10bit UMETA(DisplayName = "10bit YUV"), +}; + +/** + * Available number of audio channel supported by UE4 & AJA + */ +UENUM() +enum class EAjaMediaAudioChannel : uint8 +{ + Channel6, + Channel8, +}; + +/** + * Media source for AJA streams. + */ +UCLASS(BlueprintType, hideCategories=(Platforms,Object), meta=(MediaIOCustomLayout="AJA")) +class AJAMEDIA_API UAjaMediaSource : public UTimeSynchronizableMediaSource +{ + GENERATED_BODY() + + /** Default constructor. */ + UAjaMediaSource(); + +public: + /** The device, port and video settings that correspond to the input. */ + UPROPERTY(EditAnywhere, Category="AJA", meta=(DisplayName="Configuration")) + FMediaIOConfiguration MediaConfiguration; + + /** Use the time code embedded in the input stream. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="AJA") + EMediaIOTimecodeFormat TimecodeFormat; + + /** + * Use a ring buffer to capture and transfer data. + * This may decrease transfer latency but increase stability. + */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="AJA") + bool bCaptureWithAutoCirculating; + +public: + /** + * Capture Ancillary from the AJA source. + * It will decrease performance + */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Ancillary") + bool bCaptureAncillary; + + /** Maximum number of ancillary data frames to buffer. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, AdvancedDisplay, Category="Ancillary", meta=(EditCondition="bCaptureAncillary", ClampMin="1", ClampMax="32")) + int32 MaxNumAncillaryFrameBuffer; + +public: + /** Capture Audio from the AJA source. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Audio") + bool bCaptureAudio; + + /** Desired number of audio channel to capture. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Audio", meta=(EditCondition="bCaptureAudio")) + EAjaMediaAudioChannel AudioChannel; + + /** Maximum number of audio frames to buffer. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, AdvancedDisplay, Category="Audio", meta=(EditCondition="bCaptureAudio", ClampMin="1", ClampMax="32")) + int32 MaxNumAudioFrameBuffer; + +public: + /** Capture Video from the AJA source. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Video") + bool bCaptureVideo; + + /** Native data format internally used by the device after being converted from SDI/HDMI signal. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Video", meta=(EditCondition="bCaptureVideo")) + EAjaMediaSourceColorFormat ColorFormat; + + /** + * Whether the video input is in sRGB color space. + * A sRGB to Linear conversion will be applied resulting in a texture in linear space. + * @Note If the texture is not in linear space, it won't look correct in the editor. Another pass will be required either through Composure or other means. + */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category = "Video") + bool bIsSRGBInput; + + /** Maximum number of video frames to buffer. */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, AdvancedDisplay, Category="Video", meta=(EditCondition="bCaptureVideo", ClampMin="1", ClampMax="32")) + int32 MaxNumVideoFrameBuffer; + +public: + /** Log a warning when there's a drop frame. */ + UPROPERTY(EditAnywhere, Category="Debug") + bool bLogDropFrame; + + /** + * Burn Frame Timecode in the input texture without any frame number clipping. + * @Note Only supported with progressive format. + */ + UPROPERTY(BlueprintReadOnly, EditAnywhere, Category="Debug", meta=(DisplayName="Burn Frame Timecode")) + bool bEncodeTimecodeInTexel; + + +public: + //~ IMediaOptions interface + + virtual bool GetMediaOption(const FName& Key, bool DefaultValue) const override; + virtual int64 GetMediaOption(const FName& Key, int64 DefaultValue) const override; + virtual FString GetMediaOption(const FName& Key, const FString& DefaultValue) const override; + virtual bool HasMediaOption(const FName& Key) const override; + +public: + //~ UMediaSource interface + + virtual FString GetUrl() const override; + virtual bool Validate() const override; + +public: + //~ UObject interface +#if WITH_EDITOR + virtual bool CanEditChange(const UProperty* InProperty) const override; + virtual void PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) override; +#endif //WITH_EDITOR + //~ End UObject interface +}; diff --git a/Source/AjaMedia/Public/AjaTimecodeProvider.h b/Source/AjaMedia/Public/AjaTimecodeProvider.h new file mode 100644 index 0000000..0898ddf --- /dev/null +++ b/Source/AjaMedia/Public/AjaTimecodeProvider.h @@ -0,0 +1,91 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Engine/TimecodeProvider.h" + +#include "AjaMediaSource.h" +#include "AjaDeviceProvider.h" +#include "MediaIOCoreDefinitions.h" +#include "Tickable.h" + +#include "AjaTimecodeProvider.generated.h" + +namespace AJA +{ + class AJASyncChannel; +} + +class UEngine; + +/** + * Class to fetch a timecode via an AJA card. + * When the signal is lost in the editor (not in PIE), the TimecodeProvider will try to re-synchronize every second. + */ +UCLASS(Blueprintable, editinlinenew, meta=(DisplayName="AJA SDI Input", MediaIOCustomLayout="AJA")) +class AJAMEDIA_API UAjaTimecodeProvider : public UTimecodeProvider, public FTickableGameObject +{ + GENERATED_UCLASS_BODY() + +public: + //~ UTimecodeProvider interface + virtual FTimecode GetTimecode() const override; + virtual FFrameRate GetFrameRate() const override; + virtual ETimecodeProviderSynchronizationState GetSynchronizationState() const override { return State; } + virtual bool Initialize(class UEngine* InEngine) override; + virtual void Shutdown(class UEngine* InEngine) override; + + //~ FTickableGameObject interface + virtual ETickableTickType GetTickableTickType() const override; + virtual bool IsTickable() const override; + virtual bool IsTickableWhenPaused() const override { return true; } + virtual bool IsTickableInEditor() const override { return true; } + virtual void Tick(float DeltaTime) override; + virtual TStatId GetStatId() const override { RETURN_QUICK_DECLARE_CYCLE_STAT(UAjaTimecodeProvider, STATGROUP_Tickables); } + + //~ UObject interface + virtual void BeginDestroy() override; + +private: + struct FAJACallback; + friend FAJACallback; + + void ReleaseResources(); + +public: + /** + * Shoud we read the timecode from an input source or the reference. The device may be able to read LTC or VITC. + */ + UPROPERTY(EditAnywhere, Category="Timecode") + bool bUseReferenceIn; + + /** + * It read the timecode from the reference. + * @note The device has support LTC from the reference pin. + */ + UPROPERTY(EditAnywhere, Category="Timecode", meta=(EditCondition="bUseReferenceIn")) + FAjaMediaTimecodeReference ReferenceConfiguration; + + /** + * It read the timecode from an input source. + */ + UPROPERTY(EditAnywhere, Category="Timecode", meta=(EditCondition="!bUseReferenceIn")) + FAjaMediaTimecodeConfiguration VideoConfiguration; + +private: + /** AJA Port to capture the Sync */ + AJA::AJASyncChannel* SyncChannel; + FAJACallback* SyncCallback; + +#if WITH_EDITORONLY_DATA + /** Engine used to initialize the Provider */ + UPROPERTY(Transient) + UEngine* InitializedEngine; + + /** The time the last attempt to auto synchronize was triggered. */ + double LastAutoSynchronizeInEditorAppTime; +#endif + + /** The current SynchronizationState of the TimecodeProvider*/ + ETimecodeProviderSynchronizationState State; +}; diff --git a/Source/AjaMedia/Public/IAjaMediaModule.h b/Source/AjaMedia/Public/IAjaMediaModule.h new file mode 100644 index 0000000..64cf946 --- /dev/null +++ b/Source/AjaMedia/Public/IAjaMediaModule.h @@ -0,0 +1,31 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Modules/ModuleInterface.h" +#include "Templates/SharedPointer.h" + +class IMediaEventSink; +class IMediaPlayer; + +/** + * Interface for the AjaMedia module. + */ +class IAjaMediaModule : public IModuleInterface +{ +public: + + /** + * Create an AJA based media player. + * @param EventSink The object that receives media events from the player. + * @return A new media player, or nullptr if a player couldn't be created. + */ + virtual TSharedPtr CreatePlayer(IMediaEventSink& EventSink) = 0; + + /** @return true if the Aja module and AJA dll could be loaded */ + virtual bool IsInitialized() const = 0; + + /** @return true if the Aja card can be used */ + virtual bool CanBeUsed() const = 0; +}; + diff --git a/Source/AjaMediaEditor/AjaMediaEditor.Build.cs b/Source/AjaMediaEditor/AjaMediaEditor.Build.cs new file mode 100644 index 0000000..1096239 --- /dev/null +++ b/Source/AjaMediaEditor/AjaMediaEditor.Build.cs @@ -0,0 +1,37 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +namespace UnrealBuildTool.Rules +{ + public class AjaMediaEditor : ModuleRules + { + public AjaMediaEditor(ReadOnlyTargetRules Target) : base(Target) + { + PrivateDependencyModuleNames.AddRange( + new string[] { + "AjaMedia", + "AjaMediaOutput", + "Core", + "CoreUObject", + "EditorStyle", + "MediaAssets", + "MediaIOCore", + "MediaIOEditor", + "Projects", + "PropertyEditor", + "Settings", + "Slate", + "SlateCore", + "TimeManagement", + "UnrealEd", + }); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "AJA", + "AssetTools", + }); + + PrivateIncludePaths.Add("AjaMediaEditor/Private"); + } + } +} diff --git a/Source/AjaMediaEditor/Private/AjaMediaEditorModule.cpp b/Source/AjaMediaEditor/Private/AjaMediaEditorModule.cpp new file mode 100644 index 0000000..17e537a --- /dev/null +++ b/Source/AjaMediaEditor/Private/AjaMediaEditorModule.cpp @@ -0,0 +1,106 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaDeviceProvider.h" +#include "AjaMediaOutput.h" +#include "AjaMediaSettings.h" +#include "AjaTimecodeProvider.h" + +#include "Customizations/AjaMediaTimecodeConfigurationCustomization.h" +#include "Customizations/AjaMediaTimecodeReferenceCustomization.h" + +#include "Brushes/SlateImageBrush.h" +#include "Interfaces/IPluginManager.h" +#include "ISettingsModule.h" +#include "ISettingsSection.h" +#include "Modules/ModuleInterface.h" +#include "Modules/ModuleManager.h" +#include "PropertyEditorModule.h" +#include "Styling/SlateStyle.h" +#include "Styling/SlateStyleRegistry.h" +#include "Templates/UniquePtr.h" + +#define LOCTEXT_NAMESPACE "AjaMediaEditor" + +/** + * Implements the AjaMediaEditor module. + */ +class FAjaMediaEditorModule : public IModuleInterface +{ +public: + + //~ IModuleInterface interface + + virtual void StartupModule() override + { + RegisterCustomizations(); + RegisterStyle(); + } + + virtual void ShutdownModule() override + { + if (UObjectInitialized() && !GIsRequestingExit) + { + UnregisterStyle(); + UnregisterCustomizations(); + } + } + +private: + TUniquePtr StyleInstance; + +private: + + /** Register details view customizations. */ + void RegisterCustomizations() + { + FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked("PropertyEditor"); + PropertyModule.RegisterCustomPropertyTypeLayout(FAjaMediaTimecodeConfiguration::StaticStruct()->GetFName(), FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FAjaMediaTimecodeConfigurationCustomization::MakeInstance)); + PropertyModule.RegisterCustomPropertyTypeLayout(FAjaMediaTimecodeReference::StaticStruct()->GetFName(), FOnGetPropertyTypeCustomizationInstance::CreateStatic(&FAjaMediaTimecodeReferenceCustomization::MakeInstance)); + + } + + /** Unregister details view customizations. */ + void UnregisterCustomizations() + { + FPropertyEditorModule& PropertyModule = FModuleManager::LoadModuleChecked("PropertyEditor"); + PropertyModule.UnregisterCustomPropertyTypeLayout(FAjaMediaTimecodeReference::StaticStruct()->GetFName()); + PropertyModule.UnregisterCustomPropertyTypeLayout(FAjaMediaTimecodeConfiguration::StaticStruct()->GetFName()); + } + + void RegisterStyle() + { +#define IMAGE_BRUSH(RelativePath, ...) FSlateImageBrush(StyleInstance->RootToContentDir(RelativePath, TEXT(".png")), __VA_ARGS__) + + StyleInstance = MakeUnique("AjaMediaStyle"); + + TSharedPtr Plugin = IPluginManager::Get().FindPlugin(TEXT("AjaMedia")); + if (Plugin.IsValid()) + { + StyleInstance->SetContentRoot(FPaths::Combine(Plugin->GetContentDir(), TEXT("Editor/Icons"))); + } + + const FVector2D Icon20x20(20.0f, 20.0f); + const FVector2D Icon64x64(64.0f, 64.0f); + + StyleInstance->Set("ClassThumbnail.AjaMediaSource", new IMAGE_BRUSH("AjaMediaSource_64x", Icon64x64)); + StyleInstance->Set("ClassIcon.AjaMediaSource", new IMAGE_BRUSH("AjaMediaSource_20x", Icon20x20)); + StyleInstance->Set("ClassThumbnail.AjaMediaOutput", new IMAGE_BRUSH("AjaMediaOutput_64x", Icon64x64)); + StyleInstance->Set("ClassIcon.AjaMediaOutput", new IMAGE_BRUSH("AjaMediaOutput_20x", Icon20x20)); + + FSlateStyleRegistry::RegisterSlateStyle(*StyleInstance.Get()); + +#undef IMAGE_BRUSH + } + + void UnregisterStyle() + { + FSlateStyleRegistry::UnRegisterSlateStyle(*StyleInstance.Get()); + StyleInstance.Reset(); + } +}; + + +IMPLEMENT_MODULE(FAjaMediaEditorModule, AjaMediaEditor); + +#undef LOCTEXT_NAMESPACE + diff --git a/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.cpp b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.cpp new file mode 100644 index 0000000..969136e --- /dev/null +++ b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.cpp @@ -0,0 +1,146 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "Customizations/AjaMediaTimecodeConfigurationCustomization.h" + +#include "DetailWidgetRow.h" +#include "DetailCategoryBuilder.h" +#include "DetailLayoutBuilder.h" +#include "Framework/Application/SlateApplication.h" +#include "MediaIOPermutationsSelectorBuilder.h" +#include "ObjectEditorUtils.h" +#include "Widgets/Input/SComboButton.h" +#include "Widgets/Text/STextBlock.h" +#include "Widgets/SBoxPanel.h" +#include "Widgets/SMediaPermutationsSelector.h" +#include "Widgets/SNullWidget.h" +#include "Widgets/SWindow.h" + +#define LOCTEXT_NAMESPACE "AjaMediaTimecodeConfigurationCustomization" + +namespace AjaMediaTimecodeConfigurationCustomization +{ + static const FName NAME_TimecodeFormat("TimecodeFormat"); + + struct FMediaTimecodePermutationsSelectorBuilder + { + static bool IdenticalProperty(FName ColumnName, const FAjaMediaTimecodeConfiguration& Left, const FAjaMediaTimecodeConfiguration& Right) + { + if (ColumnName == NAME_TimecodeFormat) return Left.TimecodeFormat == Right.TimecodeFormat; + return FMediaIOPermutationsSelectorBuilder::IdenticalProperty(ColumnName, Left.MediaConfiguration, Right.MediaConfiguration); + } + + static bool Less(FName ColumnName, const FAjaMediaTimecodeConfiguration& Left, const FAjaMediaTimecodeConfiguration& Right) + { + if (ColumnName == NAME_TimecodeFormat) return (int32)Left.TimecodeFormat < (int32)Right.TimecodeFormat; + return FMediaIOPermutationsSelectorBuilder::Less(ColumnName, Left.MediaConfiguration, Right.MediaConfiguration); + } + + static FText GetLabel(FName ColumnName, const FAjaMediaTimecodeConfiguration& Item) + { + if (ColumnName == NAME_TimecodeFormat) + { + switch(Item.TimecodeFormat) + { + case EMediaIOTimecodeFormat::LTC: + return LOCTEXT("LtcLabel", "LTC"); + case EMediaIOTimecodeFormat::VITC: + return LOCTEXT("VITCLabel", "VITC"); + } + return LOCTEXT("Invalid", ""); + } + return FMediaIOPermutationsSelectorBuilder::GetLabel(ColumnName, Item.MediaConfiguration); + } + + static FText GetTooltip(FName ColumnName, const FAjaMediaTimecodeConfiguration& Item) + { + if (ColumnName == NAME_TimecodeFormat) return LOCTEXT("ReferenceFrameRateTooltip", "Timecode format to read from a video signal."); + return FMediaIOPermutationsSelectorBuilder::GetTooltip(ColumnName, Item.MediaConfiguration); + } + }; +} + +TAttribute FAjaMediaTimecodeConfigurationCustomization::GetContentText() +{ + FAjaMediaTimecodeConfiguration* Value = GetPropertyValueFromPropertyHandle(); + return MakeAttributeLambda([=] { return Value->ToText(); }); +} + +TSharedRef FAjaMediaTimecodeConfigurationCustomization::HandleSourceComboButtonMenuContent() +{ + PermutationSelector.Reset(); + + FAjaDeviceProvider DeviceProvider; + SelectedConfiguration = *GetPropertyValueFromPropertyHandle(); + if (!SelectedConfiguration.IsValid()) + { + SelectedConfiguration = FAjaMediaTimecodeConfiguration::GetDefault(); + } + + + TArray MediaConfigurations = FAjaDeviceProvider().GetTimecodeConfiguration(); + + if (MediaConfigurations.Num() == 0) + { + return SNew(STextBlock) + .Text(LOCTEXT("NoConfigurationFound", "No configuration found")); + } + + auto QuadTypeVisible = [](FName ColumnName, const TArray& UniquePermutationsForThisColumn) + { + if (UniquePermutationsForThisColumn.Num() > 0) + { + return UniquePermutationsForThisColumn[0].MediaConfiguration.MediaConnection.TransportType == EMediaIOTransportType::QuadLink; + } + return false; + }; + + using TSelection = SMediaPermutationsSelector; + TSelection::FArguments Arguments; + Arguments + .PermutationsSource(MoveTemp(MediaConfigurations)) + .SelectedPermutation(SelectedConfiguration) + .OnSelectionChanged(this, &FAjaMediaTimecodeConfigurationCustomization::OnSelectionChanged) + .OnButtonClicked(this, &FAjaMediaTimecodeConfigurationCustomization::OnButtonClicked) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_DeviceIdentifier) + .Label(LOCTEXT("DeviceLabel", "Device")) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_TransportType) + .Label(LOCTEXT("SourceTypeLabel", "Source")) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_QuadType) + .Label(LOCTEXT("QuadTypeLabel", "Quad")) + .IsColumnVisible_Lambda(QuadTypeVisible) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_Resolution) + .Label(LOCTEXT("ResolutionLabel", "Resolution")) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_Standard) + .Label(LOCTEXT("StandardLabel", "Standard")) + + TSelection::Column(FMediaIOPermutationsSelectorBuilder::NAME_FrameRate) + .Label(LOCTEXT("FrameRateLabel", "Frame Rate")) + + TSelection::Column(AjaMediaTimecodeConfigurationCustomization::NAME_TimecodeFormat) + .Label(LOCTEXT("TimecodeFormatLabel", "Format")); + + TSharedRef Selector = SNew(TSelection) = Arguments; + PermutationSelector = Selector; + SelectedConfiguration = Selector->GetSelectedItem(); + + return Selector; +} + +void FAjaMediaTimecodeConfigurationCustomization::OnSelectionChanged(FAjaMediaTimecodeConfiguration SelectedItem) +{ + SelectedConfiguration = SelectedItem; +} + +FReply FAjaMediaTimecodeConfigurationCustomization::OnButtonClicked() const +{ + AssignValue(SelectedConfiguration); + + TSharedPtr SharedPermutationSelector = PermutationSelector.Pin(); + if (SharedPermutationSelector.IsValid()) + { + TSharedRef ParentContextMenuWindow = FSlateApplication::Get().FindWidgetWindow(SharedPermutationSelector.ToSharedRef()).ToSharedRef(); + FSlateApplication::Get().RequestDestroyWindow(ParentContextMenuWindow); + } + + return FReply::Handled(); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.h b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.h new file mode 100644 index 0000000..f0eb616 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeConfigurationCustomization.h @@ -0,0 +1,27 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Customizations/MediaIOCustomizationBase.h" + +#include "AjaDeviceProvider.h" +#include "Input/Reply.h" + +/** + * Implements a details view customization for the FAjaMediaTimecodeConfiguration + */ +class FAjaMediaTimecodeConfigurationCustomization : public FMediaIOCustomizationBase +{ +public: + static TSharedRef MakeInstance() { return MakeShareable(new FAjaMediaTimecodeConfigurationCustomization); } + +private: + virtual TAttribute GetContentText() override; + virtual TSharedRef HandleSourceComboButtonMenuContent() override; + + void OnSelectionChanged(FAjaMediaTimecodeConfiguration SelectedItem); + FReply OnButtonClicked() const; + + TWeakPtr PermutationSelector; + FAjaMediaTimecodeConfiguration SelectedConfiguration; +}; diff --git a/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.cpp b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.cpp new file mode 100644 index 0000000..8c01635 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.cpp @@ -0,0 +1,131 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "Customizations/AjaMediaTimecodeReferenceCustomization.h" + +#include "AjaDeviceProvider.h" +#include "CommonFrameRates.h" +#include "DetailWidgetRow.h" +#include "DetailCategoryBuilder.h" +#include "DetailLayoutBuilder.h" +#include "Framework/Application/SlateApplication.h" +#include "MediaIOPermutationsSelectorBuilder.h" +#include "ObjectEditorUtils.h" +#include "Widgets/Input/SComboButton.h" +#include "Widgets/Text/STextBlock.h" +#include "Widgets/SBoxPanel.h" +#include "Widgets/SMediaPermutationsSelector.h" +#include "Widgets/SNullWidget.h" +#include "Widgets/SWindow.h" + + +#define LOCTEXT_NAMESPACE "AjaMediaTimecodeReferenceCustomization" + +namespace AjaMediaTimecodeReferenceCustomization +{ + static const FName NAME_DeviceIndex("DeviceIndex"); + static const FName NAME_LtcIndex("ReferenceLtcIndex"); + static const FName NAME_FrameRate("ReferenceFrameRate"); + + struct FMediaTimecodePermutationsSelectorBuilder + { + static bool IdenticalProperty(FName ColumnName, const FAjaMediaTimecodeReference& Left, const FAjaMediaTimecodeReference& Right) + { + if (ColumnName == NAME_DeviceIndex) return Left.Device.DeviceIdentifier == Right.Device.DeviceIdentifier; + if (ColumnName == NAME_LtcIndex) return Left.LtcIndex == Right.LtcIndex; + if (ColumnName == NAME_FrameRate) return Left.LtcFrameRate == Right.LtcFrameRate; + check(false); + return false; + } + + static bool Less(FName ColumnName, const FAjaMediaTimecodeReference& Left, const FAjaMediaTimecodeReference& Right) + { + if (ColumnName == NAME_DeviceIndex) return Left.Device.DeviceIdentifier < Right.Device.DeviceIdentifier; + if (ColumnName == NAME_LtcIndex) return Left.LtcIndex < Right.LtcIndex; + if (ColumnName == NAME_FrameRate) return Left.LtcFrameRate.AsDecimal() < Right.LtcFrameRate.AsDecimal(); + check(false); + return false; + } + + static FText GetLabel(FName ColumnName, const FAjaMediaTimecodeReference& Item) + { + if (ColumnName == NAME_DeviceIndex) return FText::FromName(Item.Device.DeviceName); + if (ColumnName == NAME_LtcIndex) return FText::AsNumber(Item.LtcIndex); + if (ColumnName == NAME_FrameRate) return Item.LtcFrameRate.ToPrettyText(); + check(false); + return FText::GetEmpty(); + } + + static FText GetTooltip(FName ColumnName, const FAjaMediaTimecodeReference& Item) + { + if (ColumnName == NAME_DeviceIndex) return FText::FromString(FString::Printf(TEXT("%s as index: %d"), *Item.Device.DeviceName.ToString(), Item.Device.DeviceIdentifier)); + if (ColumnName == NAME_LtcIndex) return LOCTEXT("ReferenceLtcIndexTooltip", "The LTC index to read from the reference pin."); + if (ColumnName == NAME_FrameRate) + { + if (const FCommonFrameRateInfo* Found = FCommonFrameRates::Find(Item.LtcFrameRate)) + { + return Found->Description; + } + return Item.LtcFrameRate.ToPrettyText(); + } + check(false); + return FText::GetEmpty(); + } + }; +} + +TAttribute FAjaMediaTimecodeReferenceCustomization::GetContentText() +{ + FAjaMediaTimecodeReference* Value = GetPropertyValueFromPropertyHandle(); + return MakeAttributeLambda([=] { return Value->ToText(); }); +} + +TSharedRef FAjaMediaTimecodeReferenceCustomization::HandleSourceComboButtonMenuContent() +{ + PermutationSelector.Reset(); + + SelectedConfiguration = *GetPropertyValueFromPropertyHandle(); + + TArray MediaConfigurations = FAjaDeviceProvider().GetTimecodeReferences(); + if (MediaConfigurations.Num() == 0) + { + return SNew(STextBlock) + .Text(LOCTEXT("NoConfigurationFound", "No configuration found")); + } + + using TSelection = SMediaPermutationsSelector; + TSharedRef Selector = SNew(TSelection) + .PermutationsSource(MoveTemp(MediaConfigurations)) + .SelectedPermutation(SelectedConfiguration) + .OnSelectionChanged(this, &FAjaMediaTimecodeReferenceCustomization::OnSelectionChanged) + .OnButtonClicked(this, &FAjaMediaTimecodeReferenceCustomization::OnButtonClicked) + + TSelection::Column(AjaMediaTimecodeReferenceCustomization::NAME_DeviceIndex) + .Label(LOCTEXT("DeviceLabel", "Device")) + + TSelection::Column(AjaMediaTimecodeReferenceCustomization::NAME_LtcIndex) + .Label(LOCTEXT("LtcIndexLabel", "LTC Index")) + + TSelection::Column(AjaMediaTimecodeReferenceCustomization::NAME_FrameRate) + .Label(LOCTEXT("FrameRateLabel", "Frame Rate")); + PermutationSelector = Selector; + + return Selector; +} + +void FAjaMediaTimecodeReferenceCustomization::OnSelectionChanged(FAjaMediaTimecodeReference SelectedItem) +{ + SelectedConfiguration = SelectedItem; +} + +FReply FAjaMediaTimecodeReferenceCustomization::OnButtonClicked() const +{ + AssignValue(SelectedConfiguration); + + TSharedPtr SharedPermutationSelector = PermutationSelector.Pin(); + if (SharedPermutationSelector.IsValid()) + { + TSharedRef ParentContextMenuWindow = FSlateApplication::Get().FindWidgetWindow(SharedPermutationSelector.ToSharedRef()).ToSharedRef(); + FSlateApplication::Get().RequestDestroyWindow(ParentContextMenuWindow); + } + + return FReply::Handled(); +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.h b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.h new file mode 100644 index 0000000..3e5f415 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Customizations/AjaMediaTimecodeReferenceCustomization.h @@ -0,0 +1,27 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Customizations/MediaIOCustomizationBase.h" + +#include "AjaDeviceProvider.h" +#include "Input/Reply.h" + +/** + * Implements a details view customization for the FAjaMediaTimecodeReferenceConfiguration + */ +class FAjaMediaTimecodeReferenceCustomization : public FMediaIOCustomizationBase +{ +public: + static TSharedRef MakeInstance() { return MakeShareable(new FAjaMediaTimecodeReferenceCustomization); } + +private: + virtual TAttribute GetContentText() override; + virtual TSharedRef HandleSourceComboButtonMenuContent() override; + + void OnSelectionChanged(FAjaMediaTimecodeReference SelectedItem); + FReply OnButtonClicked() const; + + TWeakPtr PermutationSelector; + FAjaMediaTimecodeReference SelectedConfiguration; +}; diff --git a/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.cpp b/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.cpp new file mode 100644 index 0000000..0ce9b20 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.cpp @@ -0,0 +1,39 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaOutputFactoryNew.h" + +#include "AssetTypeCategories.h" +#include "AjaMediaOutput.h" + + +/* UAjaMediaSourceFactoryNew structors + *****************************************************************************/ + +UAjaMediaOutputFactoryNew::UAjaMediaOutputFactoryNew(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + SupportedClass = UAjaMediaOutput::StaticClass(); + bCreateNew = true; + bEditAfterNew = true; +} + + +/* UFactory overrides + *****************************************************************************/ + +UObject* UAjaMediaOutputFactoryNew::FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) +{ + return NewObject(InParent, InClass, InName, Flags); +} + + +uint32 UAjaMediaOutputFactoryNew::GetMenuCategories() const +{ + return EAssetTypeCategories::Media; +} + + +bool UAjaMediaOutputFactoryNew::ShouldShowInNewMenu() const +{ + return true; +} diff --git a/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.h b/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.h new file mode 100644 index 0000000..f8f5233 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Factories/AjaMediaOutputFactoryNew.h @@ -0,0 +1,22 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Factories/Factory.h" +#include "AjaMediaOutputFactoryNew.generated.h" + + +/** + * Implements a factory for UAjaMediaOutput objects. + */ +UCLASS(hidecategories=Object) +class UAjaMediaOutputFactoryNew : public UFactory +{ + GENERATED_UCLASS_BODY() + +public: + //~ UFactory Interface + virtual UObject* FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; + virtual uint32 GetMenuCategories() const override; + virtual bool ShouldShowInNewMenu() const override; +}; diff --git a/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.cpp b/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.cpp new file mode 100644 index 0000000..1d10d54 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.cpp @@ -0,0 +1,39 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaSourceFactoryNew.h" + +#include "AssetTypeCategories.h" +#include "AjaMediaSource.h" + + +/* UAjaMediaSourceFactoryNew structors + *****************************************************************************/ + +UAjaMediaSourceFactoryNew::UAjaMediaSourceFactoryNew(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) +{ + SupportedClass = UAjaMediaSource::StaticClass(); + bCreateNew = true; + bEditAfterNew = true; +} + + +/* UFactory overrides + *****************************************************************************/ + +UObject* UAjaMediaSourceFactoryNew::FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) +{ + return NewObject(InParent, InClass, InName, Flags); +} + + +uint32 UAjaMediaSourceFactoryNew::GetMenuCategories() const +{ + return EAssetTypeCategories::Media; +} + + +bool UAjaMediaSourceFactoryNew::ShouldShowInNewMenu() const +{ + return true; +} diff --git a/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.h b/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.h new file mode 100644 index 0000000..1a6a6e0 --- /dev/null +++ b/Source/AjaMediaEditor/Private/Factories/AjaMediaSourceFactoryNew.h @@ -0,0 +1,25 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "Factories/Factory.h" +#include "AjaMediaSourceFactoryNew.generated.h" + + +/** + * Implements a factory for UAjaMediaSource objects. + */ +UCLASS(hidecategories=Object) +class UAjaMediaSourceFactoryNew + : public UFactory +{ + GENERATED_UCLASS_BODY() + +public: + + //~ UFactory Interface + + virtual UObject* FactoryCreateNew(UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObject* Context, FFeedbackContext* Warn) override; + virtual uint32 GetMenuCategories() const override; + virtual bool ShouldShowInNewMenu() const override; +}; diff --git a/Source/AjaMediaFactory/AjaMediaFactory.Build.cs b/Source/AjaMediaFactory/AjaMediaFactory.Build.cs new file mode 100644 index 0000000..33187f4 --- /dev/null +++ b/Source/AjaMediaFactory/AjaMediaFactory.Build.cs @@ -0,0 +1,43 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +namespace UnrealBuildTool.Rules +{ + public class AjaMediaFactory : ModuleRules + { + public AjaMediaFactory(ReadOnlyTargetRules Target) : base(Target) + { + DynamicallyLoadedModuleNames.AddRange( + new string[] { + "Media", + }); + + PrivateDependencyModuleNames.AddRange( + new string[] { + "MediaAssets", + "Projects", + }); + + PrivateIncludePathModuleNames.AddRange( + new string[] { + "Media", + "AjaMedia", + }); + + PrivateIncludePaths.AddRange( + new string[] { + "AjaMediaFactory/Private", + }); + + PublicDependencyModuleNames.AddRange( + new string[] { + "Core", + "CoreUObject", + }); + + if (Target.Platform == UnrealTargetPlatform.Win64) + { + DynamicallyLoadedModuleNames.Add("AjaMedia"); + } + } + } +} diff --git a/Source/AjaMediaFactory/Private/AjaMediaFactoryModule.cpp b/Source/AjaMediaFactory/Private/AjaMediaFactoryModule.cpp new file mode 100644 index 0000000..c0b218d --- /dev/null +++ b/Source/AjaMediaFactory/Private/AjaMediaFactoryModule.cpp @@ -0,0 +1,134 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "CoreMinimal.h" +#include "IMediaPlayerFactory.h" +#include "IMediaModule.h" +#include "Modules/ModuleInterface.h" +#include "Modules/ModuleManager.h" + +#if WITH_EDITOR + #include "ISettingsModule.h" + #include "ISettingsSection.h" +#endif + +#include "AjaMediaSettings.h" +#include "IAjaMediaModule.h" + + +#define LOCTEXT_NAMESPACE "AjaMediaFactoryModule" + + +/** + * Implements the AjaMediaFactory module. + */ +class FAjaMediaFactoryModule + : public IMediaPlayerFactory + , public IModuleInterface +{ +public: + + //~ IMediaPlayerFactory interface + + virtual bool CanPlayUrl(const FString& Url, const IMediaOptions* /*Options*/, TArray* /*OutWarnings*/, TArray* OutErrors) const override + { + FString Scheme; + FString Location; + + // check scheme + if (!Url.Split(TEXT("://"), &Scheme, &Location, ESearchCase::CaseSensitive)) + { + if (OutErrors != nullptr) + { + OutErrors->Add(LOCTEXT("NoSchemeFound", "No URI scheme found")); + } + + return false; + } + + if (!SupportedUriSchemes.Contains(Scheme)) + { + if (OutErrors != nullptr) + { + OutErrors->Add(FText::Format(LOCTEXT("SchemeNotSupported", "The URI scheme '{0}' is not supported"), FText::FromString(Scheme))); + } + + return false; + } + + return true; + } + + virtual TSharedPtr CreatePlayer(IMediaEventSink& EventSink) override + { + auto AjaMediaModule = FModuleManager::LoadModulePtr("AjaMedia"); + return (AjaMediaModule != nullptr) ? AjaMediaModule->CreatePlayer(EventSink) : nullptr; + } + + virtual FText GetDisplayName() const override + { + return LOCTEXT("MediaPlayerDisplayName", "AJA Device Interface"); + } + + virtual FName GetPlayerName() const override + { + static FName PlayerName(TEXT("AJAMedia")); + return PlayerName; + } + + virtual const TArray& GetSupportedPlatforms() const override + { + return SupportedPlatforms; + } + + virtual bool SupportsFeature(EMediaFeature Feature) const override + { + return Feature == EMediaFeature::AudioSamples || + Feature == EMediaFeature::MetadataTracks || + Feature == EMediaFeature::VideoSamples; + + } + +public: + + //~ IModuleInterface interface + + virtual void StartupModule() override + { + // supported platforms + SupportedPlatforms.Add(TEXT("Windows")); + + // supported schemes + SupportedUriSchemes.Add(TEXT("aja")); // Also in AjaDeviceProvider.cpp + + // register player factory + auto MediaModule = FModuleManager::LoadModulePtr("Media"); + + if (MediaModule != nullptr) + { + MediaModule->RegisterPlayerFactory(*this); + } + } + + virtual void ShutdownModule() override + { + // unregister player factory + auto MediaModule = FModuleManager::GetModulePtr("Media"); + + if (MediaModule != nullptr) + { + MediaModule->UnregisterPlayerFactory(*this); + } + } + +private: + /** List of platforms that the media player support. */ + TArray SupportedPlatforms; + + /** List of supported URI schemes. */ + TArray SupportedUriSchemes; +}; + + +#undef LOCTEXT_NAMESPACE + +IMPLEMENT_MODULE(FAjaMediaFactoryModule, AjaMediaFactory); diff --git a/Source/AjaMediaOutput/AjaMediaOutput.Build.cs b/Source/AjaMediaOutput/AjaMediaOutput.Build.cs new file mode 100644 index 0000000..d01a86c --- /dev/null +++ b/Source/AjaMediaOutput/AjaMediaOutput.Build.cs @@ -0,0 +1,44 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +namespace UnrealBuildTool.Rules +{ + public class AjaMediaOutput : ModuleRules + { + public AjaMediaOutput(ReadOnlyTargetRules Target) : base(Target) + { + PublicDependencyModuleNames.AddRange( + new string[] { + "AjaMedia", + "MediaIOCore", + }); + + PrivateIncludePaths.AddRange( + new string[] + { + "AjaMediaOutput/Private", + } + ); + + PrivateDependencyModuleNames.AddRange( + new string[] + { + "AJA", + "Core", + "CoreUObject", + "Engine", + "MovieSceneCapture", + "RenderCore", + "RHI", + "Slate", + "SlateCore", + "TimeManagement", + } + ); + + if (Target.bBuildEditor == true) + { + PrivateDependencyModuleNames.Add("UnrealEd"); + } + } + } +} diff --git a/Source/AjaMediaOutput/Private/AjaMediaCapture.cpp b/Source/AjaMediaOutput/Private/AjaMediaCapture.cpp new file mode 100644 index 0000000..d8f16b5 --- /dev/null +++ b/Source/AjaMediaOutput/Private/AjaMediaCapture.cpp @@ -0,0 +1,521 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaCapture.h" + +#include "AJALib.h" +#include "AjaDeviceProvider.h" +#include "AjaMediaOutput.h" +#include "Engine/RendererSettings.h" +#include "HAL/Event.h" +#include "HAL/IConsoleManager.h" +#include "IAjaMediaModule.h" +#include "IAjaMediaOutputModule.h" +#include "MediaIOCoreFileWriter.h" +#include "Misc/ScopeLock.h" +#include "Slate/SceneViewport.h" +#include "Widgets/SViewport.h" + + +/* namespace AjaMediaCaptureDevice +*****************************************************************************/ +namespace AjaMediaCaptureDevice +{ + AJA::FTimecode ConvertToAJATimecode(const FTimecode& InTimecode, float InEngineFPS, float InAjaFPS) + { + const float Divider = InEngineFPS / InAjaFPS; + + AJA::FTimecode Timecode; + Timecode.Hours = InTimecode.Hours; + Timecode.Minutes = InTimecode.Minutes; + Timecode.Seconds = InTimecode.Seconds; + Timecode.Frames = int32(float(InTimecode.Frames) / Divider); + return Timecode; + } +} + +bool bAjaWritInputRawDataCmdEnable = false; +static FAutoConsoleCommand AjaWriteInputRawDataCmd( + TEXT("Aja.WriteInputRawData"), + TEXT("Write Aja raw input buffer to file."), + FConsoleCommandDelegate::CreateLambda([]() { bAjaWritInputRawDataCmdEnable = true; }) + ); + +///* FAjaOutputCallback definition +//*****************************************************************************/ +struct UAjaMediaCapture::FAjaOutputCallback : public AJA::IAJAInputOutputChannelCallbackInterface +{ + virtual void OnInitializationCompleted(bool bSucceed) override; + virtual bool OnRequestInputBuffer(const AJA::AJARequestInputBufferData& RequestBuffer, AJA::AJARequestedInputBufferData& OutRequestedBuffer) override; + virtual bool OnInputFrameReceived(const AJA::AJAInputFrameData& InInputFrame, const AJA::AJAAncillaryFrameData& InAncillaryFrame, const AJA::AJAAudioFrameData& AudioFrame, const AJA::AJAVideoFrameData& VideoFrame) override; + virtual bool OnOutputFrameCopied(const AJA::AJAOutputFrameData& InFrameData) override; + virtual void OnOutputFrameStarted() override; + virtual void OnCompletion(bool bSucceed) override; + UAjaMediaCapture* Owner; + + /** Last frame drop count to detect count */ + uint64 LastFrameDropCount = 0; + uint64 PreviousDroppedCount = 0; +}; + +///* FAjaOutputCallback definition +//*****************************************************************************/ +struct UAjaMediaCapture::FAJAOutputChannel : public AJA::AJAOutputChannel +{ + FAJAOutputChannel() = default; +}; + +///* UAjaMediaCapture implementation +//*****************************************************************************/ +UAjaMediaCapture::UAjaMediaCapture(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) + , OutputChannel(nullptr) + , OutputCallback(nullptr) + , bWaitForSyncEvent(false) + , bLogDropFrame(false) + , bEncodeTimecodeInTexel(false) + , PixelFormat(EAjaMediaOutputPixelFormat::PF_8BIT_YUV) + , UseKey(false) + , bSavedIgnoreTextureAlpha(false) + , bIgnoreTextureAlphaChanged(false) + , FrameRate(30, 1) + , WakeUpEvent(nullptr) +{ +} + +bool UAjaMediaCapture::ValidateMediaOutput() const +{ + UAjaMediaOutput* AjaMediaOutput = Cast(MediaOutput); + if (!AjaMediaOutput) + { + UE_LOG(LogAjaMediaOutput, Error, TEXT("Can not start the capture. MediaSource's class is not supported.")); + return false; + } + + if (AjaMediaOutput->OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey) + { + static const auto CVarPropagateAlpha = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("r.PostProcessing.PropagateAlpha")); + EAlphaChannelMode::Type PropagateAlpha = EAlphaChannelMode::FromInt(CVarPropagateAlpha->GetValueOnGameThread()); + if (PropagateAlpha != EAlphaChannelMode::AllowThroughTonemapper) + { + + UE_LOG(LogAjaMediaOutput, Error, TEXT("Can not start the capture. For key, 'Enable alpha channel support in post-processing' must be set to 'Allow through tonemapper'")); + return false; + } + } + + return true; +} + +bool UAjaMediaCapture::CaptureSceneViewportImpl(TSharedPtr& InSceneViewport) +{ + UAjaMediaOutput* AjaMediaSource = CastChecked(MediaOutput); + bool bResult = InitAJA(AjaMediaSource); + if (bResult) + { + ApplyViewportTextureAlpha(InSceneViewport); + } + return bResult; +} + +bool UAjaMediaCapture::CaptureRenderTargetImpl(UTextureRenderTarget2D* InRenderTarget) +{ + UAjaMediaOutput* AjaMediaSource = CastChecked(MediaOutput); + bool bResult = InitAJA(AjaMediaSource); + return bResult; +} + +bool UAjaMediaCapture::UpdateSceneViewportImpl(TSharedPtr& InSceneViewport) +{ + RestoreViewportTextureAlpha(GetCapturingSceneViewport()); + ApplyViewportTextureAlpha(InSceneViewport); + return true; +} + +bool UAjaMediaCapture::UpdateRenderTargetImpl(UTextureRenderTarget2D* InRenderTarget) +{ + RestoreViewportTextureAlpha(GetCapturingSceneViewport()); + return true; +} + +void UAjaMediaCapture::StopCaptureImpl(bool bAllowPendingFrameToBeProcess) +{ + if (!bAllowPendingFrameToBeProcess) + { + { + // Prevent the rendering thread from copying while we are stopping the capture. + FScopeLock ScopeLock(&RenderThreadCriticalSection); + + if (OutputChannel) + { + // Close the aja channel in the another thread. + OutputChannel->Uninitialize(); + delete OutputChannel; + OutputChannel = nullptr; + delete OutputCallback; + OutputCallback = nullptr; + } + + if (WakeUpEvent) + { + FPlatformProcess::ReturnSynchEventToPool(WakeUpEvent); + WakeUpEvent = nullptr; + } + } + + RestoreViewportTextureAlpha(GetCapturingSceneViewport()); + } +} + +void UAjaMediaCapture::ApplyViewportTextureAlpha(TSharedPtr InSceneViewport) +{ + if (InSceneViewport.IsValid()) + { + TSharedPtr Widget(InSceneViewport->GetViewportWidget().Pin()); + if (Widget.IsValid()) + { + bSavedIgnoreTextureAlpha = Widget->GetIgnoreTextureAlpha(); + + UAjaMediaOutput* AjaMediaSource = CastChecked(MediaOutput); + if (AjaMediaSource->OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey) + { + if (bSavedIgnoreTextureAlpha) + { + bIgnoreTextureAlphaChanged = true; + Widget->SetIgnoreTextureAlpha(false); + } + } + } + } +} + +void UAjaMediaCapture::RestoreViewportTextureAlpha(TSharedPtr InSceneViewport) +{ + // restore the ignore texture alpha state + if (bIgnoreTextureAlphaChanged) + { + if (InSceneViewport.IsValid()) + { + TSharedPtr Widget(InSceneViewport->GetViewportWidget().Pin()); + if (Widget.IsValid()) + { + Widget->SetIgnoreTextureAlpha(bSavedIgnoreTextureAlpha); + } + } + bIgnoreTextureAlphaChanged = false; + } +} + +bool UAjaMediaCapture::HasFinishedProcessing() const +{ + return Super::HasFinishedProcessing() || OutputChannel == nullptr; +} + +bool UAjaMediaCapture::InitAJA(UAjaMediaOutput* InAjaMediaOutput) +{ + check(InAjaMediaOutput); + + IAjaMediaModule& MediaModule = FModuleManager::LoadModuleChecked(TEXT("AjaMedia")); + if (!MediaModule.CanBeUsed()) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("The AjaMediaCapture can't open MediaOutput '%s' because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *InAjaMediaOutput->GetName()); + return false; + } + + // Init general settings + bWaitForSyncEvent = InAjaMediaOutput->bWaitForSyncEvent; + bLogDropFrame = InAjaMediaOutput->bLogDropFrame; + bEncodeTimecodeInTexel = InAjaMediaOutput->bEncodeTimecodeInTexel; + FrameRate = InAjaMediaOutput->GetRequestedFrameRate(); + PortName = FAjaDeviceProvider().ToText(InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaConnection).ToString(); + + // Init Device options + AJA::AJADeviceOptions DeviceOptions(InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceIdentifier); + + OutputCallback = new UAjaMediaCapture::FAjaOutputCallback(); + OutputCallback->Owner = this; + + // Init Channel options + AJA::AJAInputOutputChannelOptions ChannelOptions(TEXT("ViewportOutput"), InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaConnection.PortIdentifier); + ChannelOptions.CallbackInterface = OutputCallback; + ChannelOptions.bOutput = true; + ChannelOptions.NumberOfAudioChannel = 0; + ChannelOptions.SynchronizeChannelIndex = InAjaMediaOutput->OutputConfiguration.ReferencePortIdentifier; + ChannelOptions.KeyChannelIndex = InAjaMediaOutput->OutputConfiguration.KeyPortIdentifier; + ChannelOptions.OutputNumberOfBuffers = InAjaMediaOutput->NumberOfAJABuffers; + ChannelOptions.VideoFormatIndex = InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaMode.DeviceModeIdentifier; + ChannelOptions.bUseAutoCirculating = InAjaMediaOutput->bOutputWithAutoCirculating; + ChannelOptions.bUseKey = InAjaMediaOutput->OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey; // must be RGBA to support Fill+Key + ChannelOptions.bUseAncillary = false; + ChannelOptions.bUseAudio = false; + ChannelOptions.bUseVideo = true; + ChannelOptions.bOutputInterlacedFieldsTimecodeNeedToMatch = InAjaMediaOutput->bInterlacedFieldsTimecodeNeedToMatch; + ChannelOptions.bDisplayWarningIfDropFrames = bLogDropFrame; + ChannelOptions.bConvertOutputLevelAToB = InAjaMediaOutput->bOutputIn3GLevelB; + + { + const EMediaIOTransportType TransportType = InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaConnection.TransportType; + const EMediaIOQuadLinkTransportType QuadTransportType = InAjaMediaOutput->OutputConfiguration.MediaConfiguration.MediaConnection.QuadTransportType; + switch (TransportType) + { + case EMediaIOTransportType::SingleLink: + ChannelOptions.TransportType = AJA::ETransportType::TT_SdiSingle; + break; + case EMediaIOTransportType::DualLink: + ChannelOptions.TransportType = AJA::ETransportType::TT_SdiDual; + break; + case EMediaIOTransportType::QuadLink: + ChannelOptions.TransportType = QuadTransportType == EMediaIOQuadLinkTransportType::SquareDivision ? AJA::ETransportType::TT_SdiQuadSQ : AJA::ETransportType::TT_SdiQuadTSI; + break; + case EMediaIOTransportType::HDMI: + ChannelOptions.TransportType = AJA::ETransportType::TT_Hdmi; + break; + } + } + + switch (InAjaMediaOutput->PixelFormat) + { + case EAjaMediaOutputPixelFormat::PF_8BIT_YUV: + if (ChannelOptions.bUseKey) + { + ChannelOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_ARGB; + } + else + { + ChannelOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_YCBCR; + } + break; + case EAjaMediaOutputPixelFormat::PF_10BIT_YUV: + if (ChannelOptions.bUseKey) + { + ChannelOptions.PixelFormat = AJA::EPixelFormat::PF_10BIT_RGB; + } + else + { + ChannelOptions.PixelFormat = AJA::EPixelFormat::PF_10BIT_YCBCR; + } + break; + default: + ChannelOptions.PixelFormat = AJA::EPixelFormat::PF_8BIT_YCBCR; + break; + } + PixelFormat = InAjaMediaOutput->PixelFormat; + UseKey = ChannelOptions.bUseKey; + + switch (InAjaMediaOutput->TimecodeFormat) + { + case EMediaIOTimecodeFormat::None: + ChannelOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + break; + case EMediaIOTimecodeFormat::LTC: + ChannelOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_LTC; + break; + case EMediaIOTimecodeFormat::VITC: + ChannelOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_VITC1; + break; + default: + ChannelOptions.TimecodeFormat = AJA::ETimecodeFormat::TCF_None; + break; + } + + switch(InAjaMediaOutput->OutputConfiguration.OutputReference) + { + case EMediaIOReferenceType::External: + ChannelOptions.OutputReferenceType = AJA::EAJAReferenceType::EAJA_REFERENCETYPE_EXTERNAL; + break; + case EMediaIOReferenceType::Input: + ChannelOptions.OutputReferenceType = AJA::EAJAReferenceType::EAJA_REFERENCETYPE_INPUT; + break; + default: + ChannelOptions.OutputReferenceType = AJA::EAJAReferenceType::EAJA_REFERENCETYPE_FREERUN; + break; + } + + OutputChannel = new FAJAOutputChannel(); + if (!OutputChannel->Initialize(DeviceOptions, ChannelOptions)) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("The AJA output port for '%s' could not be opened."), *InAjaMediaOutput->GetName()); + delete OutputChannel; + OutputChannel = nullptr; + delete OutputCallback; + OutputCallback = nullptr; + return false; + } + + if (bWaitForSyncEvent) + { + const auto CVar = IConsoleManager::Get().FindTConsoleVariableDataInt(TEXT("r.VSync")); + bool bLockToVsync = CVar->GetValueOnGameThread() != 0; + if (bLockToVsync) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("The Engine use VSync and '%s' wants to wait for the sync event. This may break the \"gen-lock\".")); + } + + const bool bIsManualReset = false; + WakeUpEvent = FPlatformProcess::GetSynchEventFromPool(bIsManualReset); + } + + return true; +} + +void UAjaMediaCapture::OnFrameCaptured_RenderingThread(const FCaptureBaseData& InBaseData, TSharedPtr InUserData, void* InBuffer, int32 Width, int32 Height) +{ + // Prevent the rendering thread from copying while we are stopping the capture. + FScopeLock ScopeLock(&RenderThreadCriticalSection); + if (OutputChannel) + { + AJA::FTimecode Timecode = AjaMediaCaptureDevice::ConvertToAJATimecode(InBaseData.SourceFrameTimecode, InBaseData.SourceFrameTimecodeFramerate.AsDecimal(), FrameRate.AsDecimal()); + + uint32 Stride = Width * 4; + uint32 TimeEncodeWidth = Width; + EMediaIOCoreEncodePixelFormat EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharBGRA; + FString OutputFilename = ""; + + switch (PixelFormat) + { + case EAjaMediaOutputPixelFormat::PF_8BIT_YUV: + if (UseKey) + { + Stride = Width * 4; + TimeEncodeWidth = Width; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharBGRA; + OutputFilename = "Aja_Input_8_RGBA"; + break; + } + else + { + Stride = Width * 4; + TimeEncodeWidth = Width * 2; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::CharUYVY; + OutputFilename = "Aja_Input_8_YUV"; + break; + } + case EAjaMediaOutputPixelFormat::PF_10BIT_YUV: + if (UseKey) + { + Stride = Width * 4; + TimeEncodeWidth = Width; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::A2B10G10R10; + OutputFilename = "Aja_Input_10_RGBA"; + break; + } + else + { + Stride = Width * 16; + TimeEncodeWidth = Width * 6; + EncodePixelFormat = EMediaIOCoreEncodePixelFormat::YUVv210; + OutputFilename = "Aja_Input_10_YUV"; + break; + } + } + + if (bEncodeTimecodeInTexel) + { + FMediaIOCoreEncodeTime EncodeTime(EncodePixelFormat, InBuffer, Stride, TimeEncodeWidth, Height); + EncodeTime.Render(Timecode.Hours, Timecode.Minutes, Timecode.Seconds, Timecode.Frames); + } + + AJA::AJAOutputFrameBufferData FrameBuffer; + FrameBuffer.Timecode = Timecode; + FrameBuffer.FrameIdentifier = InBaseData.SourceFrameNumberRenderThread; + OutputChannel->SetVideoFrameData(FrameBuffer, reinterpret_cast(InBuffer), Stride * Height); + + if (bAjaWritInputRawDataCmdEnable) + { + MediaIOCoreFileWriter::WriteRawFile(OutputFilename, reinterpret_cast(InBuffer), Stride * Height); + bAjaWritInputRawDataCmdEnable = false; + } + + WaitForSync_RenderingThread(); + } + else if (GetState() != EMediaCaptureState::Stopped) + { + SetState(EMediaCaptureState::Error); + } +} + +void UAjaMediaCapture::WaitForSync_RenderingThread() const +{ + if (bWaitForSyncEvent) + { + if (WakeUpEvent && GetState() != EMediaCaptureState::Error) // In render thread, could be shutdown in a middle of a frame + { + WakeUpEvent->Wait(); + } + } +} + +/* namespace IAJAInputCallbackInterface implementation +// This is called from the AJA thread. There's a lock inside AJA to prevent this object from dying while in this thread. +*****************************************************************************/ +void UAjaMediaCapture::FAjaOutputCallback::OnInitializationCompleted(bool bSucceed) +{ + check(Owner); + if (Owner->GetState() != EMediaCaptureState::Stopped) + { + Owner->SetState(bSucceed ? EMediaCaptureState::Capturing : EMediaCaptureState::Error); + } + + if (Owner->WakeUpEvent) + { + Owner->WakeUpEvent->Trigger(); + } +} + +bool UAjaMediaCapture::FAjaOutputCallback::OnOutputFrameCopied(const AJA::AJAOutputFrameData& InFrameData) +{ + const uint32 FrameDropCount = InFrameData.FramesDropped; + if (Owner->bLogDropFrame) + { + if (FrameDropCount > LastFrameDropCount) + { + PreviousDroppedCount += FrameDropCount - LastFrameDropCount; + + static const int32 NumMaxFrameBeforeWarning = 50; + if (PreviousDroppedCount % NumMaxFrameBeforeWarning == 0) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("Loosing frames on AJA output %s. The current count is %d."), *Owner->PortName, PreviousDroppedCount); + } + } + else if (PreviousDroppedCount > 0) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("Lost %d frames on AJA output %s. Frame rate may be too slow."), PreviousDroppedCount, *Owner->PortName); + PreviousDroppedCount = 0; + } + } + LastFrameDropCount = FrameDropCount; + + return true; +} + +void UAjaMediaCapture::FAjaOutputCallback::OnOutputFrameStarted() +{ + if (Owner->WakeUpEvent) + { + Owner->WakeUpEvent->Trigger(); + } +} + +void UAjaMediaCapture::FAjaOutputCallback::OnCompletion(bool bSucceed) +{ + if (!bSucceed) + { + Owner->SetState(EMediaCaptureState::Error); + } + + if (Owner->WakeUpEvent) + { + Owner->WakeUpEvent->Trigger(); + } +} + +bool UAjaMediaCapture::FAjaOutputCallback::OnRequestInputBuffer(const AJA::AJARequestInputBufferData& RequestBuffer, AJA::AJARequestedInputBufferData& OutRequestedBuffer) +{ + check(false); + return false; +} + +bool UAjaMediaCapture::FAjaOutputCallback::OnInputFrameReceived(const AJA::AJAInputFrameData& InInputFrame, const AJA::AJAAncillaryFrameData& InAncillaryFrame, const AJA::AJAAudioFrameData& AudioFrame, const AJA::AJAVideoFrameData& VideoFrame) +{ + check(false); + return false; +} diff --git a/Source/AjaMediaOutput/Private/AjaMediaFrameGrabberProtocol.cpp b/Source/AjaMediaOutput/Private/AjaMediaFrameGrabberProtocol.cpp new file mode 100644 index 0000000..4285cda --- /dev/null +++ b/Source/AjaMediaOutput/Private/AjaMediaFrameGrabberProtocol.cpp @@ -0,0 +1,79 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaFrameGrabberProtocol.h" + +#include "AjaMediaCapture.h" +#include "AjaMediaOutput.h" +#include "IAjaMediaOutputModule.h" +#include "MovieSceneCaptureProtocolBase.h" + +#define LOCTEXT_NAMESPACE "AjaMediaOutput" + + +/** + * UAjaFrameGrabberProtocol + */ + +UAjaFrameGrabberProtocol::UAjaFrameGrabberProtocol(const FObjectInitializer& ObjInit) + : Super(ObjInit) + , Information("FrameRate, Resolution, Output Directory and Filename Format options won't be used with AJA output") + , TransientMediaOutputPtr(nullptr) + , TransientMediaCapturePtr(nullptr) +{ +} + +bool UAjaFrameGrabberProtocol::StartCaptureImpl() +{ + if (MediaOutput == nullptr) + { + UE_LOG(LogAjaMediaOutput, Error, TEXT("Couldn't start the capture. No Media Output was provided.")); + return false; + } + + TransientMediaOutputPtr = Cast(MediaOutput.TryLoad()); + if (TransientMediaOutputPtr == nullptr) + { + UE_LOG(LogAjaMediaOutput, Error, TEXT("Couldn't start the capture. No Media Output was provided.")); + return false; + } + + if (TransientMediaOutputPtr->GetRequestedFrameRate() != CaptureHost->GetCaptureFrameRate()) + { + UE_LOG(LogAjaMediaOutput, Warning, TEXT("AjaMediaOutput %s FrameRate doesn't match sequence FrameRate."), *TransientMediaOutputPtr->GetName()); + return false; + } + + TransientMediaCapturePtr = CastChecked(TransientMediaOutputPtr->CreateMediaCapture(), ECastCheckedType::NullAllowed); + if (TransientMediaCapturePtr) + { + bool bResult = TransientMediaCapturePtr->CaptureSceneViewport(InitSettings->SceneViewport, FMediaCaptureOptions()); + if (!bResult) + { + UE_LOG(LogAjaMediaOutput, Error, TEXT("Could not initialize the Media Capture.")); + return false; + } + } + else + { + UE_LOG(LogAjaMediaOutput, Error, TEXT("Could not create the Media Capture.")); + return false; + } + + return true; +} + +bool UAjaFrameGrabberProtocol::HasFinishedProcessingImpl() const +{ + return TransientMediaCapturePtr == nullptr || TransientMediaCapturePtr->HasFinishedProcessing(); +} + +void UAjaFrameGrabberProtocol::FinalizeImpl() +{ + if (TransientMediaCapturePtr) + { + TransientMediaCapturePtr->StopCapture(true); + TransientMediaCapturePtr = nullptr; + } +} + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMediaOutput/Private/AjaMediaOutput.cpp b/Source/AjaMediaOutput/Private/AjaMediaOutput.cpp new file mode 100644 index 0000000..6483178 --- /dev/null +++ b/Source/AjaMediaOutput/Private/AjaMediaOutput.cpp @@ -0,0 +1,279 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "AjaMediaOutput.h" + +#include "AJALib.h" +#include "AjaMediaCapture.h" +#include "AjaMediaSettings.h" +#include "IAjaMediaModule.h" +#include "Modules/ModuleManager.h" +#include "UObject/EnterpriseObjectVersion.h" + + +#define LOCTEXT_NAMESPACE "AjaMediaOutput" + + +/* UAjaMediaOutput +*****************************************************************************/ + +UAjaMediaOutput::UAjaMediaOutput(const FObjectInitializer& ObjectInitializer) + : Super(ObjectInitializer) + , bOutputWithAutoCirculating(false) + , TimecodeFormat(EMediaIOTimecodeFormat::LTC) + , PixelFormat(EAjaMediaOutputPixelFormat::PF_8BIT_YUV) + , bOutputIn3GLevelB(false) + , bInvertKeyOutput(false) + , NumberOfAJABuffers(2) + , bInterlacedFieldsTimecodeNeedToMatch(false) + , bWaitForSyncEvent(false) + , bLogDropFrame(true) + , bEncodeTimecodeInTexel(false) +{ +} + +bool UAjaMediaOutput::Validate(FString& OutFailureReason) const +{ + if (!Super::Validate(OutFailureReason)) + { + return false; + } + + if (!OutputConfiguration.IsValid()) + { + OutFailureReason = FString::Printf(TEXT("The Configuration of '%s' is invalid ."), *GetName()); + return false; + } + + IAjaMediaModule& MediaModule = FModuleManager::LoadModuleChecked(TEXT("AjaMedia")); + if (!MediaModule.IsInitialized()) + { + OutFailureReason = FString::Printf(TEXT("Can't validate MediaOutput '%s'. The Aja library was not initialized."), *GetName()); + return false; + } + + if (!MediaModule.CanBeUsed()) + { + OutFailureReason = FString::Printf(TEXT("Can't validate MediaOutput '%s' because Aja card cannot be used. Are you in a Commandlet? You may override this behavior by launching with -ForceAjaUsage"), *GetName()); + return false; + } + + AJA::AJADeviceScanner Scanner; + AJA::AJADeviceScanner::DeviceInfo DeviceInfo; + if (!Scanner.GetDeviceInfo(OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceIdentifier, DeviceInfo)) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't exist on this machine."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (!DeviceInfo.bIsSupported) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that is not supported by the AJA SDK."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + const bool bDeviceHasOutput = DeviceInfo.NumSdiOutput > 0; // || DeviceInfo.NumHdmiOutput > 0 we do not support HDMI output, you should use a normal graphic card. + if (!bDeviceHasOutput) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that can't do playback."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (!DeviceInfo.bCanFrameStore1DoPlayback) + { + if (OutputConfiguration.MediaConfiguration.MediaConnection.PortIdentifier == 1) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that can't do playback on port 1."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + + if (OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey && OutputConfiguration.MediaConfiguration.MediaConnection.PortIdentifier == 1) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that can't do playback on port 1."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + } + + if (OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey) + { + // Even if YUV is selected we will later revert to RGBA to allow for Key, make sure we support it. + if (PixelFormat == EAjaMediaOutputPixelFormat::PF_8BIT_YUV && !DeviceInfo.bSupportPixelFormat8bitARGB) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't support the 8bit ARGB pixel format."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + if (PixelFormat == EAjaMediaOutputPixelFormat::PF_10BIT_YUV && !DeviceInfo.bSupportPixelFormat10bitRGB) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't support the 10bit RGB pixel format."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + } + else + { + if (PixelFormat == EAjaMediaOutputPixelFormat::PF_8BIT_YUV && !DeviceInfo.bSupportPixelFormat8bitYCBCR) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't support the 8bit YUV pixel format."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + if (PixelFormat == EAjaMediaOutputPixelFormat::PF_10BIT_YUV && !DeviceInfo.bSupportPixelFormat10bitYCBCR) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't support the 10bit YUV pixel format."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + } + + if (bOutputIn3GLevelB) + { + if (!DeviceInfo.bCanDo3GLevelConversion) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' use the device '%s' that doesn't support the 3G level conversion."), *GetName(), *OutputConfiguration.MediaConfiguration.MediaConnection.Device.DeviceName.ToString()); + return false; + } + AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = AJA::AJAVideoFormats::GetVideoFormat(OutputConfiguration.MediaConfiguration.MediaMode.DeviceModeIdentifier); + if (!Descriptor.bIsVideoFormatA) + { + OutFailureReason = FString::Printf(TEXT("The MediaOutput '%s' wants level A to level B conversion but it's not supported by the format."), *GetName()); + return false; + } + } + + return true; +} + +FFrameRate UAjaMediaOutput::GetRequestedFrameRate() const +{ + return OutputConfiguration.MediaConfiguration.MediaMode.FrameRate; +} + +FIntPoint UAjaMediaOutput::GetRequestedSize() const +{ + return OutputConfiguration.MediaConfiguration.MediaMode.Resolution; +} + +EPixelFormat UAjaMediaOutput::GetRequestedPixelFormat() const +{ + EPixelFormat Result = EPixelFormat::PF_A2B10G10R10; + switch (PixelFormat) + { + case EAjaMediaOutputPixelFormat::PF_8BIT_YUV: + Result = EPixelFormat::PF_B8G8R8A8; + break; + case EAjaMediaOutputPixelFormat::PF_10BIT_YUV: + Result = EPixelFormat::PF_A2B10G10R10; + break; + } + return Result; +} + +EMediaCaptureConversionOperation UAjaMediaOutput::GetConversionOperation(EMediaCaptureSourceType InSourceType) const +{ + EMediaCaptureConversionOperation Result = EMediaCaptureConversionOperation::NONE; + + switch (PixelFormat) + { + case EAjaMediaOutputPixelFormat::PF_8BIT_YUV: + if (OutputConfiguration.OutputType == EMediaIOOutputType::Fill) + { + Result = EMediaCaptureConversionOperation::RGBA8_TO_YUV_8BIT; + } + else if (OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey && bInvertKeyOutput) + { + Result = EMediaCaptureConversionOperation::INVERT_ALPHA; + } + else + { + Result = EMediaCaptureConversionOperation::NONE; + } + break; + case EAjaMediaOutputPixelFormat::PF_10BIT_YUV: + if (OutputConfiguration.OutputType == EMediaIOOutputType::Fill) + { + Result = EMediaCaptureConversionOperation::RGB10_TO_YUVv210_10BIT; + } + else if (OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey && bInvertKeyOutput) + { + Result = EMediaCaptureConversionOperation::INVERT_ALPHA; + } + else + { + Result = EMediaCaptureConversionOperation::NONE; + } + break; + } + return Result; +} + +UMediaCapture* UAjaMediaOutput::CreateMediaCaptureImpl() +{ + UMediaCapture* Result = NewObject(); + if (Result) + { + Result->SetMediaOutput(this); + } + return Result; +} + +#if WITH_EDITOR +bool UAjaMediaOutput::CanEditChange(const UProperty* InProperty) const +{ + if (!Super::CanEditChange(InProperty)) + { + return false; + } + + if (InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaOutput, bEncodeTimecodeInTexel)) + { + return TimecodeFormat != EMediaIOTimecodeFormat::None; + } + + if (InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaOutput, bOutputIn3GLevelB)) + { + bool bValid = false; + if (OutputConfiguration.IsValid()) + { + AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = AJA::AJAVideoFormats::GetVideoFormat(OutputConfiguration.MediaConfiguration.MediaMode.DeviceModeIdentifier); + return Descriptor.bIsVideoFormatA; + } + return bValid; + } + + if (InProperty->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaOutput, bInvertKeyOutput)) + { + return (OutputConfiguration.OutputType == EMediaIOOutputType::FillAndKey); + } + + return true; +} + +void UAjaMediaOutput::PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) +{ + if (PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaOutput, TimecodeFormat)) + { + if (TimecodeFormat == EMediaIOTimecodeFormat::None) + { + bEncodeTimecodeInTexel = false; + } + } + + if (PropertyChangedEvent.Property->GetFName() == GET_MEMBER_NAME_CHECKED(UAjaMediaOutput, OutputConfiguration)) + { + if (bOutputIn3GLevelB) + { + bOutputIn3GLevelB = false; + if (OutputConfiguration.IsValid()) + { + AJA::AJAVideoFormats::VideoFormatDescriptor Descriptor = AJA::AJAVideoFormats::GetVideoFormat(OutputConfiguration.MediaConfiguration.MediaMode.DeviceModeIdentifier); + bOutputIn3GLevelB = Descriptor.bIsVideoFormatA; + } + } + + if (OutputConfiguration.OutputType == EMediaIOOutputType::Fill) + { + bInvertKeyOutput = false; + } + } + + Super::PostEditChangeChainProperty(PropertyChangedEvent); +} +#endif //WITH_EDITOR + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMediaOutput/Private/AjaMediaOutputModule.cpp b/Source/AjaMediaOutput/Private/AjaMediaOutputModule.cpp new file mode 100644 index 0000000..7485104 --- /dev/null +++ b/Source/AjaMediaOutput/Private/AjaMediaOutputModule.cpp @@ -0,0 +1,18 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#include "IAjaMediaOutputModule.h" + +#include "AjaMediaFrameGrabberProtocol.h" +#include "Modules/ModuleManager.h" + +#define LOCTEXT_NAMESPACE "AjaMediaOutput" + +DEFINE_LOG_CATEGORY(LogAjaMediaOutput); + +class FAjaMediaOutputModule : public IAjaMediaOutputModule +{ +}; + +IMPLEMENT_MODULE(FAjaMediaOutputModule, AjaMediaOutput ) + +#undef LOCTEXT_NAMESPACE diff --git a/Source/AjaMediaOutput/Public/AjaMediaCapture.h b/Source/AjaMediaOutput/Public/AjaMediaCapture.h new file mode 100644 index 0000000..b820f78 --- /dev/null +++ b/Source/AjaMediaOutput/Public/AjaMediaCapture.h @@ -0,0 +1,75 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaCapture.h" +#include "AjaMediaOutput.h" +#include "HAL/CriticalSection.h" +#include "MediaIOCoreEncodeTime.h" +#include "Misc/FrameRate.h" +#include "AjaMediaCapture.generated.h" + +class FEvent; +class UAjaMediaOutput; + +/** + * Output Media for AJA streams. + * The output format could be any of EAjaMediaOutputPixelFormat. + */ +UCLASS(BlueprintType) +class AJAMEDIAOUTPUT_API UAjaMediaCapture : public UMediaCapture +{ + GENERATED_UCLASS_BODY() + + //~ UMediaCapture interface +public: + virtual bool HasFinishedProcessing() const override; +protected: + virtual bool ValidateMediaOutput() const override; + virtual bool CaptureSceneViewportImpl(TSharedPtr& InSceneViewport) override; + virtual bool CaptureRenderTargetImpl(UTextureRenderTarget2D* InRenderTarget) override; + virtual bool UpdateSceneViewportImpl(TSharedPtr& InSceneViewport) override; + virtual bool UpdateRenderTargetImpl(UTextureRenderTarget2D* InRenderTarget) override; + virtual void StopCaptureImpl(bool bAllowPendingFrameToBeProcess) override; + + virtual void OnFrameCaptured_RenderingThread(const FCaptureBaseData& InBaseData, TSharedPtr InUserData, void* InBuffer, int32 Width, int32 Height) override; + +private: + struct FAjaOutputCallback; + friend FAjaOutputCallback; + struct FAJAOutputChannel; + +private: + bool InitAJA(UAjaMediaOutput* InMediaOutput); + void WaitForSync_RenderingThread() const; + void ApplyViewportTextureAlpha(TSharedPtr InSceneViewport); + void RestoreViewportTextureAlpha(TSharedPtr InSceneViewport); + +private: + /** AJA Port for outputting */ + FAJAOutputChannel* OutputChannel; + FAjaOutputCallback* OutputCallback; + + /** Name of this output port */ + FString PortName; + + /** Option from MediaOutput */ + bool bWaitForSyncEvent; + bool bLogDropFrame; + bool bEncodeTimecodeInTexel; + EAjaMediaOutputPixelFormat PixelFormat; + bool UseKey; + + /** Saved IgnoreTextureAlpha flag from viewport */ + bool bSavedIgnoreTextureAlpha; + bool bIgnoreTextureAlphaChanged; + + /** Selected FrameRate of this output */ + FFrameRate FrameRate; + + /** Critical section for synchronizing access to the OutputChannel */ + FCriticalSection RenderThreadCriticalSection; + + /** Event to wakeup When waiting for sync */ + FEvent* WakeUpEvent; +}; diff --git a/Source/AjaMediaOutput/Public/AjaMediaFrameGrabberProtocol.h b/Source/AjaMediaOutput/Public/AjaMediaFrameGrabberProtocol.h new file mode 100644 index 0000000..2760550 --- /dev/null +++ b/Source/AjaMediaOutput/Public/AjaMediaFrameGrabberProtocol.h @@ -0,0 +1,48 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Protocols/FrameGrabberProtocol.h" +#include "UObject/StrongObjectPtr.h" + +#include "AjaMediaFrameGrabberProtocol.generated.h" + +class UAjaMediaCapture; +class UAjaMediaOutput; + +UCLASS(meta=(DisplayName="AJA Output", CommandLineID="AJAOutput")) +class AJAMEDIAOUTPUT_API UAjaFrameGrabberProtocol : public UMovieSceneImageCaptureProtocolBase +{ +public: + GENERATED_BODY() + + UAjaFrameGrabberProtocol(const FObjectInitializer& ObjInit); + + /** ~UMovieSceneCaptureProtocolBase implementation */ + virtual bool StartCaptureImpl() override; + virtual bool HasFinishedProcessingImpl() const override; + virtual void FinalizeImpl() override; + virtual bool CanWriteToFileImpl(const TCHAR* InFilename, bool bOverwriteExisting) const { return false; } + /** ~End UMovieSceneCaptureProtocolBase implementation */ + +public: + + /** AJA Setting to use for the FrameGrabberProtocol */ + UPROPERTY(config, BlueprintReadWrite, EditAnywhere, Category=AJA, meta=(AllowedClasses=AjaMediaOutput)) + FSoftObjectPath MediaOutput; + + /** States unused options for AJAFrameGrabberProtocolSettings */ + UPROPERTY(VisibleAnywhere, Transient, Category=AJA) + FString Information; + +private: + + /** Transient media output pointer to keep the media output alive while this protocol is in use */ + UPROPERTY(Transient) + UAjaMediaOutput* TransientMediaOutputPtr; + + /** Transient media capture pointer that will capture the viewport */ + UPROPERTY(Transient) + UAjaMediaCapture* TransientMediaCapturePtr; +}; diff --git a/Source/AjaMediaOutput/Public/AjaMediaOutput.h b/Source/AjaMediaOutput/Public/AjaMediaOutput.h new file mode 100644 index 0000000..d1d2f09 --- /dev/null +++ b/Source/AjaMediaOutput/Public/AjaMediaOutput.h @@ -0,0 +1,108 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "MediaOutput.h" + +#include "MediaIOCoreDefinitions.h" + +#include "AjaMediaOutput.generated.h" + +/** + * Native data format. + */ +UENUM() +enum class EAjaMediaOutputPixelFormat : uint8 +{ + PF_8BIT_YUV UMETA(DisplayName = "8bit YUV"), + PF_10BIT_YUV UMETA(DisplayName = "10bit YUV"), +}; + +/** + * Output information for an aja media capture. + * @note 'Frame Buffer Pixel Format' must be set to at least 8 bits of alpha to enabled the Key. + * @note 'Enable alpha channel support in post-processing' must be set to 'Allow through tonemapper' to enabled the Key. + */ +UCLASS(BlueprintType, meta=(MediaIOCustomLayout="AJA")) +class AJAMEDIAOUTPUT_API UAjaMediaOutput : public UMediaOutput +{ + GENERATED_UCLASS_BODY() + +public: + + /** The device, port and video settings that correspond to the output. */ + UPROPERTY(EditAnywhere, Category="AJA", meta=(DisplayName="Configuration")) + FMediaIOOutputConfiguration OutputConfiguration; + +public: + /** + * The output of the Audio, Ancillary and/or video will be perform at the same time. + * This may decrease transfer performance but each the data will be sync in relation with each other. + */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Output") + bool bOutputWithAutoCirculating; + + /** Whether to embed the Engine's timecode to the output frame. */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Output") + EMediaIOTimecodeFormat TimecodeFormat; + + /** Native data format internally used by the device before being converted to SDI/HDMI signal. */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Output") + EAjaMediaOutputPixelFormat PixelFormat; + + /** If the video format is compatible with 3G Level A, do the conversion to output in LevelB. */ + UPROPERTY(EditAnywhere, AdvancedDisplay, Category="Output") + bool bOutputIn3GLevelB; + + /** Invert Key Output */ + UPROPERTY(EditAnywhere, AdvancedDisplay, Category = "Output") + bool bInvertKeyOutput; + + /** + * Number of frame used to transfer from the system memory to the AJA card. + * A smaller number is most likely to cause missed frame. + * A bigger number is most likely to increase latency. + */ + UPROPERTY(EditAnywhere, AdvancedDisplay, Category="Output", meta=(ClampMin=1, ClampMax=4)) + int32 NumberOfAJABuffers; + + /** + * Only make sense in interlaced mode. + * When creating a new Frame the 2 fields need to have the same timecode value. + * The Engine's need a TimecodeProvider (or the default system clock) that is in sync with the generated fields. + */ + UPROPERTY(EditAnywhere, AdvancedDisplay, Category="Output", meta=(ClampMin=1, ClampMax=4)) + bool bInterlacedFieldsTimecodeNeedToMatch; + + /** Try to maintain a the engine "Genlock" with the VSync signal. */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Synchronization") + bool bWaitForSyncEvent; + +public: + /** Log a warning when there's a drop frame. */ + UPROPERTY(EditAnywhere, Category="Debug") + bool bLogDropFrame; + + /** Burn Frame Timecode on the output without any frame number clipping. */ + UPROPERTY(BlueprintReadWrite, EditAnywhere, Category="Debug", meta=(DisplayName="Burn Frame Timecode")) + bool bEncodeTimecodeInTexel; + +public: + virtual bool Validate(FString& FailureReason) const override; + + FFrameRate GetRequestedFrameRate() const; + virtual FIntPoint GetRequestedSize() const override; + virtual EPixelFormat GetRequestedPixelFormat() const override; + virtual EMediaCaptureConversionOperation GetConversionOperation(EMediaCaptureSourceType InSourceType) const override; + +protected: + virtual UMediaCapture* CreateMediaCaptureImpl() override; + +public: + //~ UObject interface +#if WITH_EDITOR + virtual bool CanEditChange(const UProperty* InProperty) const override; + virtual void PostEditChangeChainProperty(struct FPropertyChangedChainEvent& PropertyChangedEvent) override; +#endif //WITH_EDITOR + //~ End UObject interface +}; diff --git a/Source/AjaMediaOutput/Public/IAjaMediaOutputModule.h b/Source/AjaMediaOutput/Public/IAjaMediaOutputModule.h new file mode 100644 index 0000000..64cf174 --- /dev/null +++ b/Source/AjaMediaOutput/Public/IAjaMediaOutputModule.h @@ -0,0 +1,41 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include "CoreMinimal.h" +#include "Modules/ModuleManager.h" + +#include "UObject/Object.h" + +DECLARE_LOG_CATEGORY_EXTERN(LogAjaMediaOutput, Log, All); + +/** + * The public interface to this module. In most cases, this interface is only public to sibling modules + * within this plugin. + */ +class IAjaMediaOutputModule : public IModuleInterface +{ + +public: + /** + * Singleton-like access to this module's interface. This is just for convenience! + * Beware of calling this during the shutdown phase, though. Your module might have been unloaded already. + * + * @return Returns singleton instance, loading the module on demand if needed + */ + static inline IAjaMediaOutputModule& Get() + { + return FModuleManager::LoadModuleChecked< IAjaMediaOutputModule >( "AjaMediaOutput" ); + } + + /** + * Checks to see if this module is loaded and ready. It is only valid to call Get() if IsAvailable() returns true. + * + * @return True if the module is loaded and ready to use + */ + static inline bool IsAvailable() + { + return FModuleManager::Get().IsModuleLoaded( "AjaMediaOutput" ); + } +}; + diff --git a/Source/ThirdParty/Build/AJA.Build.cs b/Source/ThirdParty/Build/AJA.Build.cs new file mode 100644 index 0000000..6acc880 --- /dev/null +++ b/Source/ThirdParty/Build/AJA.Build.cs @@ -0,0 +1,47 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +using System.IO; +using UnrealBuildTool; + +public class AJA : ModuleRules +{ + public AJA(ReadOnlyTargetRules Target) : base(Target) + { + Type = ModuleType.External; + + if (Target.Platform == UnrealTargetPlatform.Win64) + { + PublicDefinitions.Add("AJAMEDIA_DLL_PLATFORM=1"); + + string AjaLibDir = Path.Combine(ModuleDirectory, "../../../Binaries/ThirdParty/Win64"); + + string LibraryName = "AJA"; + bool bHaveDebugLib = false;// File.Exists(Path.Combine(AjaLibDir, "AJAd.dll")); + if (bHaveDebugLib && Target.Configuration == UnrealTargetConfiguration.Debug) + { + LibraryName = "AJAd"; + PublicDefinitions.Add("AJAMEDIA_DLL_DEBUG=1"); + } + else + { + PublicDefinitions.Add("AJAMEDIA_DLL_DEBUG=0"); + } + + PublicIncludePaths.Add(Path.Combine(Path.Combine(ModuleDirectory, "include"))); + PublicLibraryPaths.Add(AjaLibDir); + PublicAdditionalLibraries.Add(LibraryName + ".lib"); + + PublicDelayLoadDLLs.Add(LibraryName + ".dll"); + RuntimeDependencies.Add(Path.Combine(AjaLibDir, LibraryName + ".dll")); + } + else + { + PublicDefinitions.Add("AJAMEDIA_DLL_PLATFORM=0"); + PublicDefinitions.Add("AJAMEDIA_DLL_DEBUG=0"); + System.Console.WriteLine("AJA not supported on this platform"); + } + } +} + + + diff --git a/Source/ThirdParty/Build/include/AJALib.h b/Source/ThirdParty/Build/include/AJALib.h new file mode 100644 index 0000000..8a6cad8 --- /dev/null +++ b/Source/ThirdParty/Build/include/AJALib.h @@ -0,0 +1,473 @@ +// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved. + +#pragma once + +#include +#include +#include + +#ifdef AJA_EXPORTS +#define AJA_API __declspec(dllexport) +#else +#define AJA_API __declspec(dllimport) +#endif + +namespace AJA +{ + + /* Types provided from the interface + *****************************************************************************/ + typedef void* FDeviceScanner; + typedef void* FDeviceInfo; + typedef void* FAJADevice; + typedef uint32_t FAJAVideoFormat; + + /* Logging Callbacks + *****************************************************************************/ + using LoggingCallbackPtr = void(*)(const TCHAR* Format, ...); + AJA_API void SetLoggingCallbacks(LoggingCallbackPtr LogInfoFunc, LoggingCallbackPtr LogWarningFunc, LoggingCallbackPtr LogErrorFunc); + + /* Pixel formats supported + *****************************************************************************/ + enum struct EPixelFormat + { + PF_8BIT_YCBCR, // As Input/Output + PF_8BIT_ARGB, // As Input/Output + PF_10BIT_RGB, // As Input/Output + PF_10BIT_YCBCR, // As Input/Output + }; + + /* SDI transport type + *****************************************************************************/ + enum class ETransportType + { + TT_SdiSingle, + TT_SdiSingle4kTSI, + TT_SdiDual, + TT_SdiQuadSQ, + TT_SdiQuadTSI, + TT_Hdmi, + TT_Hdmi4kTSI, + }; + + + /* Timecode + *****************************************************************************/ + struct AJA_API FTimecode + { + FTimecode(); + bool operator== (const FTimecode& Other) const; + + uint32_t Hours; + uint32_t Minutes; + uint32_t Seconds; + uint32_t Frames; + }; + + enum struct ETimecodeFormat + { + TCF_None, + TCF_LTC, + TCF_VITC1, + }; + + namespace Private + { + class AutoDetectChannel; + class DeviceScanner; + class InputChannel; + class OutputChannel; + class SyncChannel; + class VideoFormatsScanner; + } + + /* AJADeviceScanner definition + *****************************************************************************/ + class AJA_API AJADeviceScanner + { + public: + const static int32_t FormatedTextSize = 64; + using FormatedTextType = TCHAR[FormatedTextSize]; + + struct AJA_API DeviceInfo + { + bool bIsSupported; + + bool bCanFrameStore1DoPlayback; + bool bCanDoDualLink; + bool bCanDo2K; + bool bCanDo4K; + bool bCanDo12GSdi; + bool bCanDo12GRouting; + bool bCanDoMultiFormat; + bool bCanDoAlpha; + bool bCanDo3GLevelConversion; + bool bCanDoCustomAnc; + bool bCanDoLtc; + bool bCanDoLtcInRefPort; + bool bCanDoTSI; + bool bSupportPixelFormat8bitYCBCR; + bool bSupportPixelFormat8bitARGB; + bool bSupportPixelFormat10bitRGB; + bool bSupportPixelFormat10bitYCBCR; + + uint32_t NumberOfLtcInput; + + int32_t NumSdiInput; + int32_t NumSdiOutput; + int32_t NumHdmiInput; + int32_t NumHdmiOutput; + }; + + AJADeviceScanner(); + ~AJADeviceScanner(); + + AJADeviceScanner(const AJADeviceScanner&) = delete; + AJADeviceScanner& operator=(const AJADeviceScanner&) = delete; + + int32_t GetNumDevices() const; + bool GetDeviceTextId(int32_t InDeviceIndex, FormatedTextType& OutTextId) const; + bool GetDeviceInfo(int32_t InDeviceIndex, DeviceInfo& OutDeviceInfo) const; + + private: + Private::DeviceScanner* Scanner; + }; + + /* AJAVideoFormats definition + *****************************************************************************/ + struct AJA_API AJAVideoFormats + { + struct AJA_API VideoFormatDescriptor + { + VideoFormatDescriptor(); + + FAJAVideoFormat VideoFormatIndex; + uint32_t FrameRateNumerator; + uint32_t FrameRateDenominator; + uint32_t ResolutionWidth; + uint32_t ResolutionHeight; + bool bIsProgressiveStandard; + bool bIsInterlacedStandard; + bool bIsPsfStandard; + bool bIsVideoFormatA; + bool bIsVideoFormatB; + bool bIs372DualLink; + bool bIsSD; + bool bIsHD; + bool bIs2K; + bool bIs4K; + + bool bIsValid; + }; + + AJAVideoFormats(int32_t InDeviceId); + ~AJAVideoFormats(); + + AJAVideoFormats(const AJAVideoFormats&) = delete; + AJAVideoFormats& operator=(const AJAVideoFormats&) = delete; + + int32_t GetNumSupportedFormat() const; + VideoFormatDescriptor GetSupportedFormat(int32_t InIndex) const; + static VideoFormatDescriptor GetVideoFormat(FAJAVideoFormat InVideoFormatIndex); + + private: + Private::VideoFormatsScanner* Formats; + }; + + /* AJADeviceOptions definition + *****************************************************************************/ + struct AJA_API AJADeviceOptions + { + AJADeviceOptions(uint32_t InChannelIndex) + : DeviceIndex(InChannelIndex) + , bWantMutliFormatMode(false) + {} + + uint32_t DeviceIndex; + bool bWantMutliFormatMode; + }; + + /* AJASyncChannel definition + *****************************************************************************/ + struct AJA_API IAJASyncChannelCallbackInterface + { + IAJASyncChannelCallbackInterface(); + virtual ~IAJASyncChannelCallbackInterface(); + + virtual void OnInitializationCompleted(bool bSucceed) = 0; + }; + + struct AJA_API AJASyncChannelOptions + { + AJASyncChannelOptions(const TCHAR* DebugName); + + IAJASyncChannelCallbackInterface* CallbackInterface; + + ETransportType TransportType; + uint32_t ChannelIndex; // [1...x] + FAJAVideoFormat VideoFormatIndex; + ETimecodeFormat TimecodeFormat; + bool bOutput; // port is output + bool bWaitForFrameToBeReady; // port is input and we want to wait for the image to be sent to UE4 before ticking + + bool bReadTimecodeFromReferenceIn; + uint32_t LTCSourceIndex; //[1...x] + uint32_t LTCFrameRateNumerator; + uint32_t LTCFrameRateDenominator; + }; + + class AJA_API AJASyncChannel + { + public: + AJASyncChannel(AJASyncChannel&) = delete; + AJASyncChannel& operator=(AJASyncChannel&) = delete; + + AJASyncChannel(); + ~AJASyncChannel(); + + public: + //@param PortIndex [1...x] + //@param bOutput port is output + bool Initialize(const AJADeviceOptions& InDevice, const AJASyncChannelOptions& InOption); + void Uninitialize(); + + // Only available if the initialization succeeded + bool WaitForSync() const; + bool GetTimecode(FTimecode& OutTimecode) const; + bool GetSyncCount(uint32_t& OutCount) const; + + private: + Private::SyncChannel* Channel; + }; + + + /* IAJAInputOutputChannelCallbackInterface definition + *****************************************************************************/ + struct AJA_API AJAInputFrameData + { + AJAInputFrameData(); + + FTimecode Timecode; + uint32_t FramesDropped; // frame dropped by the AJA + }; + + struct AJA_API AJAOutputFrameData : AJAInputFrameData + { + AJAOutputFrameData(); + + uint32_t FramesLost; // frame ready by the game but not sent to AJA + }; + + struct AJA_API AJAAncillaryFrameData + { + AJAAncillaryFrameData(); + + uint8_t* AncBuffer; + uint32_t AncBufferSize; + uint8_t* AncF2Buffer; + uint32_t AncF2BufferSize; + }; + + struct AJA_API AJAAudioFrameData + { + AJAAudioFrameData(); + + uint8_t* AudioBuffer; + uint32_t AudioBufferSize; + uint32_t NumChannels; + uint32_t AudioRate; + uint32_t NumSamples; + }; + + struct AJA_API AJAVideoFrameData + { + AJAVideoFrameData(); + FAJAVideoFormat VideoFormatIndex; + uint8_t* VideoBuffer; + uint32_t VideoBufferSize; + uint32_t Stride; + uint32_t Width; + uint32_t Height; + EPixelFormat PixelFormat; + bool bIsProgressivePicture; + }; + + struct AJA_API AJARequestInputBufferData + { + AJARequestInputBufferData(); + bool bIsProgressivePicture; + uint32_t AncBufferSize; + uint32_t AncF2BufferSize; + uint32_t AudioBufferSize; + uint32_t VideoBufferSize; + }; + + struct AJA_API AJARequestedInputBufferData + { + AJARequestedInputBufferData(); + uint8_t* AncBuffer; + uint8_t* AncF2Buffer; + uint8_t* AudioBuffer; + uint8_t* VideoBuffer; + }; + + struct AJA_API IAJAInputOutputChannelCallbackInterface : IAJASyncChannelCallbackInterface + { + IAJAInputOutputChannelCallbackInterface(); + + virtual bool OnRequestInputBuffer(const AJARequestInputBufferData& RequestBuffer, AJARequestedInputBufferData& OutRequestedBuffer) = 0; + virtual bool OnInputFrameReceived(const AJAInputFrameData& InFrameData, const AJAAncillaryFrameData& InAncillaryFrame, const AJAAudioFrameData& InAudioFrame, const AJAVideoFrameData& InVideoFrame) = 0; + virtual void OnOutputFrameStarted() { } + virtual bool OnOutputFrameCopied(const AJAOutputFrameData& InFrameData) = 0; + virtual void OnCompletion(bool bSucceed) = 0; + }; + + /* AJAInputOutputChannelOptions definition + *****************************************************************************/ + enum class EAJAReferenceType + { + EAJA_REFERENCETYPE_EXTERNAL, + EAJA_REFERENCETYPE_FREERUN, + EAJA_REFERENCETYPE_INPUT, + }; + + struct AJA_API AJAInputOutputChannelOptions + { + AJAInputOutputChannelOptions(const TCHAR* DebugName, uint32_t InChannelIndex); + + IAJAInputOutputChannelCallbackInterface* CallbackInterface; + + uint32_t NumberOfAudioChannel; + ETransportType TransportType; + uint32_t ChannelIndex; // [1...x] + uint32_t SynchronizeChannelIndex; // [1...x] + uint32_t KeyChannelIndex; // [1...x] for output + uint32_t OutputNumberOfBuffers; // [1...x] supported but not suggested (min of 2 is suggested) + FAJAVideoFormat VideoFormatIndex; + EPixelFormat PixelFormat; + ETimecodeFormat TimecodeFormat; + EAJAReferenceType OutputReferenceType; + uint32_t BurnTimecodePercentY; + + union + { + struct + { + uint32_t bUseAutoCirculating : 1; + uint32_t bOutput : 1; // port is output + uint32_t bUseKey : 1; // output will also sent the key on OutputKeyPortIndex + uint32_t bOutputInterlacedFieldsTimecodeNeedToMatch : 1; // when trying to find the odd field that correspond to the even field, the 2 timecode need to match + uint32_t bUseAncillary : 1; // enable ANC system + uint32_t bUseAudio : 1; // enable audio input/output + uint32_t bUseVideo : 1; // enable video input/output + uint32_t bBurnTimecode : 1; // burn the timecode to the input or output image + uint32_t bDisplayWarningIfDropFrames : 1; + uint32_t bConvertOutputLevelAToB; // enable video output 3G level A to convert it to 3G level B + }; + uint32_t Options; + }; + }; + + /* AJAInputChannel definition + *****************************************************************************/ + class AJA_API AJAInputChannel + { + public: + AJAInputChannel(AJAInputChannel&) = delete; + AJAInputChannel& operator=(AJAInputChannel&) = delete; + + AJAInputChannel(); + virtual ~AJAInputChannel(); + + public: + bool Initialize(const AJADeviceOptions& InDevice, const AJAInputOutputChannelOptions& Options); + void Uninitialize(); + + // Only available if the initialization succeeded + uint32_t GetFrameDropCount() const; + + private: + Private::InputChannel* Channel; + }; + + /* AJAOutputFrameBufferData definition + *****************************************************************************/ + struct AJA_API AJAOutputFrameBufferData + { + AJAOutputFrameBufferData(); + + static const uint32_t InvalidFrameIdentifier; + + FTimecode Timecode; + uint32_t FrameIdentifier; + }; + + /* AJAOutputChannel definition + *****************************************************************************/ + class AJA_API AJAOutputChannel + { + public: + AJAOutputChannel(AJAOutputChannel&) = delete; + AJAOutputChannel& operator=(AJAOutputChannel&) = delete; + + AJAOutputChannel(); + virtual ~AJAOutputChannel(); + + public: + bool Initialize(const AJADeviceOptions& InDevice, const AJAInputOutputChannelOptions& Options); + void Uninitialize(); + + // Set a new buffer that will be copied to the AJA. + bool SetAncillaryFrameData(const AJAOutputFrameBufferData& InFrameData, uint8_t* AncillaryBuffer, uint32_t AncillaryBufferSize); + bool SetAudioFrameData(const AJAOutputFrameBufferData& InFrameData, uint8_t* AudioBuffer, uint32_t AudioBufferSize); + bool SetVideoFrameData(const AJAOutputFrameBufferData& InFrameData, uint8_t* VideoBuffer, uint32_t VideoBufferSize); + + bool GetOutputDimension(uint32_t& OutWidth, uint32_t& OutHeight) const; + + private: + Private::OutputChannel* Channel; + }; + + + /* AJAAutoDetectChannelCallbackInterface definition + *****************************************************************************/ + struct AJA_API IAJAAutoDectectCallbackInterface + { + IAJAAutoDectectCallbackInterface(); + virtual ~IAJAAutoDectectCallbackInterface(); + + virtual void OnCompletion(bool bSucceed) = 0; + }; + + /* AJAAutoDetectChannel definition + *****************************************************************************/ + class AJA_API AJAAutoDetectChannel + { + public: + struct AutoDetectChannelData + { + AutoDetectChannelData(); + + FAJAVideoFormat DetectedVideoFormat; + uint32_t DeviceIndex; // [0...x] + uint32_t ChannelIndex; // [1...x] + }; + + public: + AJAAutoDetectChannel(AJAAutoDetectChannel&) = delete; + AJAAutoDetectChannel& operator=(AJAAutoDetectChannel&) = delete; + + AJAAutoDetectChannel(); + virtual ~AJAAutoDetectChannel(); + + public: + bool Initialize(IAJAAutoDectectCallbackInterface* InCallbackInterface); + void Uninitialize(); + + int32_t GetNumOfChannelData() const; + AutoDetectChannelData GetChannelData(int32_t Index) const; + + private: + Private::AutoDetectChannel* AutoChannel; + }; +}

$XUrsU;z9&kO^4H>IG!gGxAEk8z?9$GNW}g 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 hh>Ea5a_kQ0Ai+Kif1Y2rZSkBr}} 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�caXMKTC>oWyv-DWYe z^