Hello [mention removed] ,
As of CL 36619371, the URivermaxMediaSource class has been refactored to inherit from UCaptureCardMediaSource with the goal of removing duplicated code and unify logic with other capture card media sources.
The deprecated PlayerMode property is now replaced by a set of inherited properties designed to achieve the same behavior.
`/** Should wait for some time until requested frame arrives? Requires JIT rendering. */
UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Synchronization, meta = (DisplayName = “Framelock”))
bool bFramelock = false;
/** Sample evaluation type. */
UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Synchronization, meta = (DisplayName = “Sample Evaluation Type”))
EMediaIOSampleEvaluationType EvaluationType = EMediaIOSampleEvaluationType::PlatformTime;
/**
- Synchronize the media with the engine’s timecode.
- The media player has be able to read timecode.
- The media player will try to play the corresponding frame, base on the frame’s timecode value.
*/
UPROPERTY(BlueprintReadWrite, EditAnywhere, Category=Synchronization, meta=(DisplayName=“Time Synchronization”))
bool bUseTimeSynchronization;`If you previously relied on the PlayerMode_DEPRECATED = ERivermaxPlayerMode_DEPRECATED::Framelock, the equivalent configuration in 5.5+ would be:
EvaluationType = EMediaIOSampleEvaluationType::Timecode; bUseTimeSynchronization = true; bFramelock = true;
This mapping is also handled automatically during asset loading in the PostLoad() function for backward compatibility:
`void URivermaxMediaSource::PostLoad()
{
Super::PostLoad();
// We can only recover data during editor. Proprties will be fixed during cook.
#if WITH_EDITORONLY_DATA
const int32 RivermaxMediaVersion = GetLinkerCustomVersion(FRivermaxMediaVersion::GUID);
PRAGMA_DISABLE_DEPRECATION_WARNINGS;
// Rivermax was merged with other capture card media sources and these properties
// are either duplicates or provide limited functionality compared to the inherited UI.
if (RivermaxMediaVersion < FRivermaxMediaVersion::BeforeCustomVersionAdded)
{
if (bUseZeroLatency_DEPRECATED == false)
{
bUseTimeSynchronization = true;
FrameDelay = 1;
}
if (bIsSRGBInput_DEPRECATED == true)
{
bOverrideSourceEncoding = true;
OverrideSourceEncoding = EMediaIOCoreSourceEncoding::sRGB;
}
if (PlayerMode_DEPRECATED == ERivermaxPlayerMode_DEPRECATED::Framelock)
{
EvaluationType = EMediaIOSampleEvaluationType::Timecode;
bUseTimeSynchronization = true;
bFramelock = true;
}
else
{
EvaluationType = EMediaIOSampleEvaluationType::Latest;
bFramelock = false;
}
Modify();
}
PRAGMA_ENABLE_DEPRECATION_WARNINGS;
#endif
}`Please let me know if this information helps.
Best,
Francisco