UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MediaPlayerFacade.cpp File Reference
#include "MediaPlayerFacade.h"
#include "MediaUtilsPrivate.h"
#include "HAL/PlatformMath.h"
#include "HAL/PlatformProcess.h"
#include "IMediaCache.h"
#include "IMediaControls.h"
#include "IMediaModule.h"
#include "IMediaOptions.h"
#include "IMediaPlayer.h"
#include "IMediaPlayerFactory.h"
#include "IMediaSamples.h"
#include "IMediaAudioSample.h"
#include "IMediaTextureSample.h"
#include "IMediaOverlaySample.h"
#include "IMediaTracks.h"
#include "IMediaView.h"
#include "IMediaTicker.h"
#include "MediaPlayerOptions.h"
#include "Math/NumericLimits.h"
#include "Misc/CoreMisc.h"
#include "Misc/ScopeLock.h"
#include "Modules/ModuleManager.h"
#include "MediaHelpers.h"
#include "MediaSampleCache.h"
#include "MediaSampleQueueDepths.h"
#include "MediaSampleQueue.h"
#include "Async/Async.h"
#include <algorithm>

Classes

class  FMediaPlayerLifecycleManagerDelegateOpenRequest
 
class  FMediaPlayerLifecycleManagerDelegateControl
 

Namespaces

namespace  UE
 
namespace  UE::MediaUtils
 
namespace  UE::MediaUtils::Private
 
namespace  MediaPlayerFacade
 

Macros

#define MEDIAPLAYERFACADE_DISABLE_BLOCKING   0
 
#define MEDIAPLAYERFACADE_TRACE_SINKOVERFLOWS   0
 

Functions

 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade Close"), STAT_MediaUtils_FacadeClose, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade Open"), STAT_MediaUtils_FacadeOpen, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade ProcessEvent"), STAT_MediaUtils_FacadeProcessEvent, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade TickFetch"), STAT_MediaUtils_FacadeTickFetch, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade TickInput"), STAT_MediaUtils_FacadeTickInput, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade TickOutput"), STAT_MediaUtils_FacadeTickOutput, STATGROUP_Media)
 
 DECLARE_CYCLE_STAT (TEXT("MediaUtils MediaPlayerFacade TickTickable"), STAT_MediaUtils_FacadeTickTickable, STATGROUP_Media)
 
 DECLARE_FLOAT_COUNTER_STAT (TEXT("MediaPlayerFacade PlaybackTime"), STAT_MediaUtils_FacadeTime, STATGROUP_Media)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("MediaPlayerFacade NumVideoSamples"), STAT_MediaUtils_FacadeNumVideoSamples, STATGROUP_Media)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("MediaPlayerFacade NumAudioSamples"), STAT_MediaUtils_FacadeNumAudioSamples, STATGROUP_Media)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("MediaPlayerFacade NumPurgedVideoSamples"), STAT_MediaUtils_FacadeNumPurgedVideoSamples, STATGROUP_Media)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("MediaPlayerFacade TotalPurgedVideoSamples"), STAT_MediaUtils_FacadeTotalPurgedVideoSamples, STATGROUP_Media)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("MediaPlayerFacade NumPurgedSubtitleSamples"), STAT_MediaUtils_FacadeNumPurgedSubtitleSamples, STATGROUP_Media)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("MediaPlayerFacade TotalPurgedSubtitleSamples"), STAT_MediaUtils_FacadeTotalPurgedSubtitleSamples, STATGROUP_Media)
 
 DECLARE_DWORD_COUNTER_STAT (TEXT("MediaPlayerFacade NumPurgedCaptionSamples"), STAT_MediaUtils_FacadeNumPurgedCaptionSamples, STATGROUP_Media)
 
 DECLARE_DWORD_ACCUMULATOR_STAT (TEXT("MediaPlayerFacade TotalPurgedCaptionSamples"), STAT_MediaUtils_FacadeTotalPurgedCaptionSamples, STATGROUP_Media)
 

Variables

TAutoConsoleVariable< boolUE::MediaUtils::Private::CVarTestForcePlayerCreateFailed (TEXT("m.Test.ForcePlayerCreateFailed"), false, TEXT("Whether force media player creation to fail."), ECVF_ReadOnly)
 
float UE::MediaUtils::Private::GBlockOnFetchTimeout = 10.0f
 
const FTimespan MediaPlayerFacade::AudioPreroll = FTimespan::FromSeconds(1.0)
 
const FTimespan MediaPlayerFacade::MetadataPreroll = FTimespan::FromSeconds(1.0)
 

Macro Definition Documentation

◆ MEDIAPLAYERFACADE_DISABLE_BLOCKING

#define MEDIAPLAYERFACADE_DISABLE_BLOCKING   0

◆ MEDIAPLAYERFACADE_TRACE_SINKOVERFLOWS

#define MEDIAPLAYERFACADE_TRACE_SINKOVERFLOWS   0

Function Documentation

◆ DECLARE_CYCLE_STAT() [1/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade Close" ,
STAT_MediaUtils_FacadeClose  ,
STATGROUP_Media   
)

Time spent in media player facade closing media.

◆ DECLARE_CYCLE_STAT() [2/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade Open" ,
STAT_MediaUtils_FacadeOpen  ,
STATGROUP_Media   
)

Time spent in media player facade opening media.

◆ DECLARE_CYCLE_STAT() [3/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade ProcessEvent" ,
STAT_MediaUtils_FacadeProcessEvent  ,
STATGROUP_Media   
)

Time spent in media player facade event processing.

◆ DECLARE_CYCLE_STAT() [4/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade TickFetch" ,
STAT_MediaUtils_FacadeTickFetch  ,
STATGROUP_Media   
)

Time spent in media player facade fetch tick.

◆ DECLARE_CYCLE_STAT() [5/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade TickInput" ,
STAT_MediaUtils_FacadeTickInput  ,
STATGROUP_Media   
)

Time spent in media player facade input tick.

◆ DECLARE_CYCLE_STAT() [6/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade TickOutput" ,
STAT_MediaUtils_FacadeTickOutput  ,
STATGROUP_Media   
)

Time spent in media player facade output tick.

◆ DECLARE_CYCLE_STAT() [7/7]

DECLARE_CYCLE_STAT ( TEXT("MediaUtils MediaPlayerFacade TickTickable" ,
STAT_MediaUtils_FacadeTickTickable  ,
STATGROUP_Media   
)

Time spent in media player facade high frequency tick.

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [1/3]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("MediaPlayerFacade TotalPurgedCaptionSamples" ,
STAT_MediaUtils_FacadeTotalPurgedCaptionSamples  ,
STATGROUP_Media   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [2/3]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("MediaPlayerFacade TotalPurgedSubtitleSamples" ,
STAT_MediaUtils_FacadeTotalPurgedSubtitleSamples  ,
STATGROUP_Media   
)

◆ DECLARE_DWORD_ACCUMULATOR_STAT() [3/3]

DECLARE_DWORD_ACCUMULATOR_STAT ( TEXT("MediaPlayerFacade TotalPurgedVideoSamples" ,
STAT_MediaUtils_FacadeTotalPurgedVideoSamples  ,
STATGROUP_Media   
)

◆ DECLARE_DWORD_COUNTER_STAT() [1/5]

DECLARE_DWORD_COUNTER_STAT ( TEXT("MediaPlayerFacade NumAudioSamples" ,
STAT_MediaUtils_FacadeNumAudioSamples  ,
STATGROUP_Media   
)

Number of audio samples currently in the queue.

◆ DECLARE_DWORD_COUNTER_STAT() [2/5]

DECLARE_DWORD_COUNTER_STAT ( TEXT("MediaPlayerFacade NumPurgedCaptionSamples" ,
STAT_MediaUtils_FacadeNumPurgedCaptionSamples  ,
STATGROUP_Media   
)

Number of purged caption samples

◆ DECLARE_DWORD_COUNTER_STAT() [3/5]

DECLARE_DWORD_COUNTER_STAT ( TEXT("MediaPlayerFacade NumPurgedSubtitleSamples" ,
STAT_MediaUtils_FacadeNumPurgedSubtitleSamples  ,
STATGROUP_Media   
)

Number of purged subtitle samples

◆ DECLARE_DWORD_COUNTER_STAT() [4/5]

DECLARE_DWORD_COUNTER_STAT ( TEXT("MediaPlayerFacade NumPurgedVideoSamples" ,
STAT_MediaUtils_FacadeNumPurgedVideoSamples  ,
STATGROUP_Media   
)

Number of purged video samples

◆ DECLARE_DWORD_COUNTER_STAT() [5/5]

DECLARE_DWORD_COUNTER_STAT ( TEXT("MediaPlayerFacade NumVideoSamples" ,
STAT_MediaUtils_FacadeNumVideoSamples  ,
STATGROUP_Media   
)

Number of video samples currently in the queue.

◆ DECLARE_FLOAT_COUNTER_STAT()

DECLARE_FLOAT_COUNTER_STAT ( TEXT("MediaPlayerFacade PlaybackTime" ,
STAT_MediaUtils_FacadeTime  ,
STATGROUP_Media   
)

Player time on main thread during last fetch tick.