Navigation
Unreal Engine C++ API Reference > Plugins > MediaIOCore
Inheritance Hierarchy
- IMediaPlayer
- IMediaCache
- IMediaControls
- IMediaTracks
- IMediaView
- ITimedDataInput
- TSharedFromThis
- FMediaIOCorePlayerBase
References
Module | MediaIOCore |
Header | /Engine/Plugins/Media/MediaIOFramework/Source/MediaIOCore/Public/MediaIOCorePlayerBase.h |
Include | #include "MediaIOCorePlayerBase.h" |
Syntax
class FMediaIOCorePlayerBase :
public IMediaPlayer ,
protected IMediaCache ,
protected IMediaControls ,
protected IMediaTracks ,
protected IMediaView ,
public ITimedDataInput ,
public TSharedFromThis< FMediaIOCorePlayerBase >
Remarks
Implements a base player for hardware IO cards.
The processing of metadata and video frames is delayed until the fetch stage (TickFetch) in order to increase the window of opportunity for receiving 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 frames or from the Engine's global time code.
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
FMediaAudioTrackFormat | AudioTrackFormat | Format of the audio. |
![]() |
FMediaIOSamplingSettings | BaseSettings | Base set of settings to start from when setuping channels |
![]() |
bool | bAutoDetect | Whether we are using autodetection. |
![]() |
bool | bFramelock | Whether media playback should be framelocked to the engine's timecode |
![]() |
bool | bOverrideSourceColorSpace | Whether to override the source color space or to use the metadata embedded in the ancillary data of the signal. |
![]() |
bool | bOverrideSourceEncoding | Whether to override the source encoding or to use the metadata embedded in the ancillary data of the signal. |
![]() |
bool | bWarnedIncompatibleFrameRate | Warn when the video frame rate is not the same as the engine's frame rate. |
![]() |
TArray< ITimedDataInputChannel * > | Channels | Timed Data Input handler |
![]() |
EMediaState | CurrentState | Current state of the media player. |
![]() |
FTimespan | CurrentTime | Current playback time. |
![]() |
EMediaIOSampleEvaluationType | EvaluationType | Sample evaluation type. |
![]() |
IMediaEventSink & | EventSink | The media event handler. |
![]() |
int32 | FrameDelay | When using Time Synchronization (TC synchronization), how many frame back of a delay would you like. |
![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > & | JITRProxySample | |
![]() |
uint64 | LastEngineRTFrameThatUpdatedJustInTime | Used to ensure that JIT rendering is executed only once per frame |
![]() |
TSharedPtr< struct FOpenColorIOColorConversionSettings > | OCIOSettings | Open color IO conversion data. |
![]() |
FString | OpenUrl | Url used to open the media player. |
![]() |
ETextureColorSpace | OverrideSourceColorSpace | Color space of the source texture. |
![]() |
ETextureSourceEncoding | OverrideSourceEncoding | Encoding of the source texture. |
![]() |
FTimespan | PreviousFrameTimespan | Previous frame Timespan |
![]() |
const TUniquePtr< FMediaIOCoreSamples > | Samples | The media sample cache. |
![]() |
double | TimeDelay | When not using Time Synchronization (use computer time), how many sec back of a delay would you like. |
![]() |
FFrameRate | VideoFrameRate | Video frame rate in the last received sample. |
![]() |
FMediaVideoTrackFormat | VideoTrackFormat | Format of the video. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
FMediaIOCorePlayerBase
(
IMediaEventSink& InEventSink |
Create and initialize a new instance. |
Destructors
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
Virtual destructor. |
Functions
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | Acquire a proxy sample for JITR. That sample must be initialized for JITR. | |
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | Factory method to generate texture samples. | |
![]() |
void | AddAudioSample
(
const TSharedRef< FMediaIOCoreAudioSampleBase >& Sample |
Internal API to push an audio sample to the internal samples pool |
![]() |
void | AddCaptionSample
(
const TSharedRef< FMediaIOCoreCaptionSampleBase >& Sample |
Internal API to push a caption sample to the internal samples pool |
![]() |
void | AddMetadataSample
(
const TSharedRef< FMediaIOCoreBinarySampleBase >& Sample |
Internal API to push a metadata sample to the internal samples pool |
![]() |
void | AddSubtitleSample
(
const TSharedRef< FMediaIOCoreSubtitleSampleBase >& Sample |
Internal API to push a subtitle sample to the internal samples pool |
![]() |
void | AddVideoSample
(
const TSharedRef< FMediaIOCoreTextureSampleBase >& Sample |
Internal API to push a video sample to the internal samples pool |
![]() ![]() |
void | AddVideoSampleAfterGPUTransfer_RenderThread
(
const TSharedRef< FMediaIOCoreTextureSampleBase >& Sample |
Called after fast GPUDirect texture transferring is finished |
![]() ![]() ![]() |
bool | Whether fast GPU transferring is available | |
![]() ![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleConverter > | Factory method to create sample converters. | |
![]() ![]() |
TArray< TSharedRef< FMediaIOCoreTextureSampleBase > > | Deinterlace
(
const UE::MediaIOCore::FVideoFrame& InVideoFrame |
Deinterlace a video frame. Only valid to call when the video stream is open. |
![]() ![]() |
double | Get the application time with a delta to represent the actual system time. | |
![]() ![]() ![]() |
EMediaIOCoreColorFormat | ||
![]() ![]() ![]() |
uint32 | Get the number of video frames to buffer. | |
![]() ![]() |
double | Get the platform time with a delta to represent the actual system time. | |
![]() ![]() |
const FMediaIOCoreSamples & | GetSamples () |
|
![]() ![]() |
bool | Whether a texture availabled for GPU transfer | |
![]() ![]() |
bool | Is the IO hardware/device ready to be used. | |
![]() ![]() ![]() |
bool | Whether JITR is available and active | |
![]() ![]() |
bool | Log the timecode when a frame is received. | |
![]() ![]() |
bool | JustInTimeSampleRender_RenderThread
(
FRHICommandListImmediate& RHICmdList, |
Just in time sample rendering. |
![]() |
void | Allows children to notify when video format is known after auto-detection. | |
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | PickSampleToRender_RenderThread
(
const FFrameInfo& InFrameInformation |
Pick a sample to render |
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | PickSampleToRenderForLatest_RenderThread
(
const FFrameInfo& InFrameInformation |
|
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | PickSampleToRenderForTimeSynchronized_RenderThread
(
const FFrameInfo& InFrameInformation |
|
![]() ![]() |
TSharedPtr< FMediaIOCoreTextureSampleBase > | PickSampleToRenderFramelocked_RenderThread
(
const FFrameInfo& InFrameInformation |
|
![]() ![]() |
bool | ReadMediaOptions
(
const IMediaOptions* Options |
Return true if the options combination are valid. |
![]() |
void | Setup settings for the different kind of supported data channels. | |
![]() ![]() |
void | ||
![]() |
void | TransferTexture_RenderThread
(
FRHICommandListImmediate& RHICmdList, |
A wrapper method responsible for transferring of the sample textures into GPU memory based on the current settings and hardware capabilities. |
Overridden from IMediaPlayer
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | Close () |
Close a previously opened media source. |
![]() ![]() |
IMediaCache & | GetCache () |
Get the player's cache controls. |
![]() ![]() |
IMediaControls & | GetControls () |
Get the player's playback controls. |
![]() ![]() ![]() |
FString | GetInfo () |
Get debug information about the player and currently opened media. |
![]() ![]() |
IMediaSamples & | GetSamples () |
Get the player's sample queue. |
![]() ![]() ![]() |
FString | GetStats () |
Get playback statistics information. |
![]() ![]() |
IMediaTracks & | GetTracks () |
Get the player's track collection. |
![]() ![]() ![]() |
FString | GetUrl () |
Get the URL of the currently loaded media. |
![]() ![]() |
IMediaView & | GetView () |
Get the player's view settings. |
![]() ![]() |
bool | Open
(
const FString& Url, |
Open a media source from a URL with optional parameters. |
![]() ![]() |
bool | Open
(
const TSharedRef< FArchive, ESPMode::ThreadSafe >& Archive, |
Open a media source from a file or memory archive with optional parameters. |
![]() ![]() |
void | Tick the player in the Fetch phase. |
Overridden from IMediaCache
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
int32 | GetSampleCount
(
EMediaCacheState State |
Query the number of samples for the specified caching state. |
![]() ![]() ![]() |
bool | QueryCacheState
(
EMediaCacheState State, |
Query the time ranges of cached media samples for the specified caching state. |
Overridden from IMediaControls
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | CanControl
(
EMediaControl Control |
Whether the specified control is currently available. |
![]() ![]() ![]() |
FTimespan | GetDuration () |
Get the media's duration. |
![]() ![]() ![]() |
float | GetRate () |
Get the nominal playback rate, i.e. 1.0 for real time. |
![]() ![]() ![]() |
EMediaState | GetState () |
Get the state of the media. |
![]() ![]() ![]() |
EMediaStatus | GetStatus () |
Get media player status flags. |
![]() ![]() ![]() |
TRangeSet< float > | GetSupportedRates
(
EMediaRateThinning Thinning |
Get the supported playback rates. |
![]() ![]() ![]() |
FTimespan | GetTime () |
Get the player's current playback time. |
![]() ![]() ![]() |
bool | IsLooping () |
Check whether playback is currently looping. |
![]() ![]() |
bool | Change the media's playback time. | |
![]() ![]() |
bool | SetLooping
(
bool Looping |
Set whether playback should be looping. |
![]() ![]() |
bool | SetRate
(
float Rate |
Set the current playback rate. |
Overridden from IMediaTracks
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
bool | GetAudioTrackFormat
(
int32 TrackIndex, |
Get details about the specified audio track format. |
![]() ![]() ![]() |
int32 | GetNumTrackFormats
(
EMediaTrackType TrackType, |
Get the number of formats of the specified track. |
![]() ![]() ![]() |
int32 | GetNumTracks
(
EMediaTrackType TrackType |
Get the number of media tracks of the given type. |
![]() ![]() ![]() |
int32 | GetSelectedTrack
(
EMediaTrackType TrackType |
Get the index of the currently selected track of the given type. |
![]() ![]() ![]() |
FText | GetTrackDisplayName
(
EMediaTrackType TrackType, |
Get the human readable name of the specified track. |
![]() ![]() ![]() |
int32 | GetTrackFormat
(
EMediaTrackType TrackType, |
Get the index of the currently selected format of the given track type. |
![]() ![]() ![]() |
FString | GetTrackLanguage
(
EMediaTrackType TrackType, |
Get the language tag of the specified track. |
![]() ![]() ![]() |
FString | GetTrackName
(
EMediaTrackType TrackType, |
Get the internal name of the specified track. |
![]() ![]() ![]() |
bool | GetVideoTrackFormat
(
int32 TrackIndex, |
Get details about the specified video track format. |
![]() ![]() |
bool | SelectTrack
(
EMediaTrackType TrackType, |
Select the active track of the given type. |
![]() ![]() |
bool | SetTrackFormat
(
EMediaTrackType TrackType, |
Select the active format on the specified track. |
Overridden from ITimedDataInput
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | AddChannel
(
ITimedDataInputChannel* Channel |
Add a channel belonging to this input |
![]() ![]() ![]() |
TArray< ITimedDataInputChannel * > | GetChannels () |
Get a list of the channel this input has. |
![]() ![]() ![]() |
FText | Get the name used when displayed. | |
![]() ![]() ![]() |
double | Get the offset in seconds used at evaluation. | |
![]() ![]() ![]() |
ETimedDataInputEvaluationType | Get how the input is evaluated. | |
![]() ![]() ![]() |
FFrameRate | GetFrameRate () |
Get the frame rate at which the samples are produced. |
![]() ![]() ![]() |
bool | Does channel from this input support a different buffer size than it's input. | |
![]() ![]() |
void | RemoveChannel
(
ITimedDataInputChannel* Channel |
Remove channel from the input |
![]() ![]() |
void | SetEvaluationOffsetInSeconds
(
double Offset |
Set the offset in seconds used at evaluation. |
![]() ![]() |
void | SetEvaluationType
(
ETimedDataInputEvaluationType Evaluation |
Set how the input is evaluated. |
![]() ![]() ![]() |
bool | Whether this input supports sub frames. |
Classes
Type | Name | Description | |
---|---|---|---|
![]() |
FFrameInfo | Class used to pass information about current frame for sample picking. |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() |
UE_DEPRECATED
(
"5.5", |
Deprecated in UE5.5. |