UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IMediaSamples Class Referenceabstract

#include <IMediaSamples.h>

+ Inheritance diagram for IMediaSamples:

Public Types

enum class  EFetchBestSampleResult { Ok = 0 , NoSample , PurgedToEmpty , NotSupported }
 

Public Member Functions

virtual bool FetchAudio (TRange< FTimespan > TimeRange, TSharedPtr< IMediaAudioSample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchAudio (TRange< FMediaTimeStamp > TimeRange, TSharedPtr< IMediaAudioSample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchCaption (TRange< FTimespan > TimeRange, TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchCaption (TRange< FMediaTimeStamp > TimeRange, TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchMetadata (TRange< FTimespan > TimeRange, TSharedPtr< IMediaBinarySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchMetadata (TRange< FMediaTimeStamp > TimeRange, TSharedPtr< IMediaBinarySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchSubtitle (TRange< FTimespan > TimeRange, TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchSubtitle (TRange< FMediaTimeStamp > TimeRange, TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchVideo (TRange< FTimespan > TimeRange, TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &OutSample)
 
virtual bool FetchVideo (TRange< FMediaTimeStamp > TimeRange, TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &OutSample)
 
virtual void FlushSamples ()
 
virtual void SetSampleBufferSize (int32 BufferSize)
 
virtual EFetchBestSampleResult FetchBestVideoSampleForTimeRange (const TRange< FMediaTimeStamp > &TimeRange, TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &OutSample, bool bReverse, bool bConsistentResult)
 
virtual void SetMinExpectedNextSequenceIndex (TOptional< int32 > InNextSequenceIndex)
 
virtual bool PeekVideoSampleTime (FMediaTimeStamp &TimeStamp)=0
 
virtual bool PeekVideoSampleTimeRanges (TArray< TRange< FMediaTimeStamp > > &TimeRange)
 
virtual bool PeekAudioSampleTimeRanges (TArray< TRange< FMediaTimeStamp > > &TimeRange)
 
virtual bool DiscardVideoSamples (const TRange< FMediaTimeStamp > &TimeRange, bool bReverse)
 
virtual bool DiscardAudioSamples (const TRange< FMediaTimeStamp > &TimeRange, bool bReverse)
 
virtual bool DiscardCaptionSamples (const TRange< FMediaTimeStamp > &TimeRange, bool bReverse)
 
virtual bool DiscardSubtitleSamples (const TRange< FMediaTimeStamp > &TimeRange, bool bReverse)
 
virtual bool DiscardMetadataSamples (const TRange< FMediaTimeStamp > &TimeRange, bool bReverse)
 
virtual uint32 PurgeOutdatedVideoSamples (const FMediaTimeStamp &ReferenceTime, bool bReversed, FTimespan MaxAge)
 
virtual uint32 PurgeOutdatedCaptionSamples (const FMediaTimeStamp &ReferenceTime, bool bReversed, FTimespan MaxAge)
 
virtual uint32 PurgeOutdatedSubtitleSamples (const FMediaTimeStamp &ReferenceTime, bool bReversed, FTimespan MaxAge)
 
virtual uint32 PurgeOutdatedMetadataSamples (const FMediaTimeStamp &ReferenceTime, bool bReversed, FTimespan MaxAge)
 
virtual bool CanReceiveVideoSamples (uint32 Num) const
 
virtual bool CanReceiveAudioSamples (uint32 Num) const
 
virtual bool CanReceiveSubtitleSamples (uint32 Num) const
 
virtual bool CanReceiveCaptionSamples (uint32 Num) const
 
virtual bool CanReceiveMetadataSamples (uint32 Num) const
 
virtual int32 NumAudioSamples () const
 
virtual int32 NumCaptionSamples () const
 
virtual int32 NumMetadataSamples () const
 
virtual int32 NumSubtitleSamples () const
 
virtual int32 NumVideoSamples () const
 
virtual uint32 GetNumDroppedVideoSamples (bool bInClearToZero)
 
virtual uint32 GetNumDroppedAudioSamples (bool bInClearToZero)
 
virtual uint32 GetNumDroppedSubtitleSamples (bool bInClearToZero)
 
virtual uint32 GetNumDroppedCaptionSamples (bool bInClearToZero)
 
virtual uint32 GetNumDroppedMetadataSamples (bool bInClearToZero)
 
virtual ~IMediaSamples ()
 

Detailed Description

Interface for access to a media player's sample queue.

See also
IMediaCache, IMediaControls, IMediaPlayer, IMediaTracks, IMediaView

Member Enumeration Documentation

◆ EFetchBestSampleResult

Enumerator
Ok 
NoSample 
PurgedToEmpty 
NotSupported 

Constructor & Destructor Documentation

◆ ~IMediaSamples()

virtual IMediaSamples::~IMediaSamples ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

◆ CanReceiveAudioSamples()

virtual bool IMediaSamples::CanReceiveAudioSamples ( uint32  Num) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ CanReceiveCaptionSamples()

virtual bool IMediaSamples::CanReceiveCaptionSamples ( uint32  Num) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ CanReceiveMetadataSamples()

virtual bool IMediaSamples::CanReceiveMetadataSamples ( uint32  Num) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ CanReceiveSubtitleSamples()

virtual bool IMediaSamples::CanReceiveSubtitleSamples ( uint32  Num) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ CanReceiveVideoSamples()

virtual bool IMediaSamples::CanReceiveVideoSamples ( uint32  Num) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ DiscardAudioSamples()

virtual bool IMediaSamples::DiscardAudioSamples ( const TRange< FMediaTimeStamp > &  TimeRange,
bool  bReverse 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ DiscardCaptionSamples()

virtual bool IMediaSamples::DiscardCaptionSamples ( const TRange< FMediaTimeStamp > &  TimeRange,
bool  bReverse 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ DiscardMetadataSamples()

virtual bool IMediaSamples::DiscardMetadataSamples ( const TRange< FMediaTimeStamp > &  TimeRange,
bool  bReverse 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ DiscardSubtitleSamples()

virtual bool IMediaSamples::DiscardSubtitleSamples ( const TRange< FMediaTimeStamp > &  TimeRange,
bool  bReverse 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ DiscardVideoSamples()

virtual bool IMediaSamples::DiscardVideoSamples ( const TRange< FMediaTimeStamp > &  TimeRange,
bool  bReverse 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchAudio() [1/2]

virtual bool IMediaSamples::FetchAudio ( TRange< FMediaTimeStamp TimeRange,
TSharedPtr< IMediaAudioSample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchAudio() [2/2]

virtual bool IMediaSamples::FetchAudio ( TRange< FTimespan TimeRange,
TSharedPtr< IMediaAudioSample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Fetch the next audio sample.

Parameters
TimeRangeThe range of present times that the sample is allowed to have.
OutSampleWill contain the sample if the queue is not empty.
Returns
true if the returned sample is valid, false otherwise.
See also
FetchCaption, FetchMetadata, FetchSubtitle, FetchVideo

Reimplemented in FMediaSamples.

◆ FetchBestVideoSampleForTimeRange()

virtual EFetchBestSampleResult IMediaSamples::FetchBestVideoSampleForTimeRange ( const TRange< FMediaTimeStamp > &  TimeRange,
TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &  OutSample,
bool  bReverse,
bool  bConsistentResult 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchCaption() [1/2]

virtual bool IMediaSamples::FetchCaption ( TRange< FMediaTimeStamp TimeRange,
TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchCaption() [2/2]

virtual bool IMediaSamples::FetchCaption ( TRange< FTimespan TimeRange,
TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Fetch the next caption sample.

Parameters
TimeRangeThe range of present times that the sample is allowed to have.
OutSampleWill contain the sample if the queue is not empty.
Returns
true if the returned sample is valid, false otherwise.
See also
FetchAudio, FetchMetadata, FetchSubtitle, FetchVideo

Reimplemented in FMediaSamples.

◆ FetchMetadata() [1/2]

virtual bool IMediaSamples::FetchMetadata ( TRange< FMediaTimeStamp TimeRange,
TSharedPtr< IMediaBinarySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchMetadata() [2/2]

virtual bool IMediaSamples::FetchMetadata ( TRange< FTimespan TimeRange,
TSharedPtr< IMediaBinarySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Fetch the next metadata sample.

Parameters
TimeRangeThe range of present times that the sample is allowed to have.
OutSampleWill contain the sample if the queue is not empty.
Returns
true if the returned sample is valid, false otherwise.
See also
FetchAudio, FetchCaption, FetchSubtitle, FetchVideo

Reimplemented in FMediaSamples.

◆ FetchSubtitle() [1/2]

virtual bool IMediaSamples::FetchSubtitle ( TRange< FMediaTimeStamp TimeRange,
TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchSubtitle() [2/2]

virtual bool IMediaSamples::FetchSubtitle ( TRange< FTimespan TimeRange,
TSharedPtr< IMediaOverlaySample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Fetch the next subtitle sample.

Parameters
TimeRangeThe range of present times that the sample is allowed to have.
OutSampleWill contain the sample if the queue is not empty.
Returns
true if the returned sample is valid, false otherwise.
See also
FetchAudio, FetchCaption, FetchMetadata, FetchVideo

Reimplemented in FMediaSamples.

◆ FetchVideo() [1/2]

virtual bool IMediaSamples::FetchVideo ( TRange< FMediaTimeStamp TimeRange,
TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ FetchVideo() [2/2]

virtual bool IMediaSamples::FetchVideo ( TRange< FTimespan TimeRange,
TSharedPtr< IMediaTextureSample, ESPMode::ThreadSafe > &  OutSample 
)
inlinevirtual

Fetch the next video sample.

Parameters
TimeRangeThe range of present times that the sample is allowed to have.
OutSampleWill contain the sample if the queue is not empty.
Returns
true if the returned sample is valid, false otherwise.
See also
FetchAudio, FetchCaption, FetchMetadata, FetchSubtitle

Reimplemented in FMediaSamples.

◆ FlushSamples()

virtual void IMediaSamples::FlushSamples ( )
inlinevirtual

Discard any outstanding media samples.

Reimplemented in FMediaSamples.

◆ GetNumDroppedAudioSamples()

virtual uint32 IMediaSamples::GetNumDroppedAudioSamples ( bool  bInClearToZero)
inlinevirtual

Reimplemented in FMediaSamples.

◆ GetNumDroppedCaptionSamples()

virtual uint32 IMediaSamples::GetNumDroppedCaptionSamples ( bool  bInClearToZero)
inlinevirtual

Reimplemented in FMediaSamples.

◆ GetNumDroppedMetadataSamples()

virtual uint32 IMediaSamples::GetNumDroppedMetadataSamples ( bool  bInClearToZero)
inlinevirtual

Reimplemented in FMediaSamples.

◆ GetNumDroppedSubtitleSamples()

virtual uint32 IMediaSamples::GetNumDroppedSubtitleSamples ( bool  bInClearToZero)
inlinevirtual

Reimplemented in FMediaSamples.

◆ GetNumDroppedVideoSamples()

virtual uint32 IMediaSamples::GetNumDroppedVideoSamples ( bool  bInClearToZero)
inlinevirtual

Reimplemented in FMediaSamples.

◆ NumAudioSamples()

virtual int32 IMediaSamples::NumAudioSamples ( ) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ NumCaptionSamples()

virtual int32 IMediaSamples::NumCaptionSamples ( ) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ NumMetadataSamples()

virtual int32 IMediaSamples::NumMetadataSamples ( ) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ NumSubtitleSamples()

virtual int32 IMediaSamples::NumSubtitleSamples ( ) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ NumVideoSamples()

virtual int32 IMediaSamples::NumVideoSamples ( ) const
inlinevirtual

Reimplemented in FMediaSamples.

◆ PeekAudioSampleTimeRanges()

virtual bool IMediaSamples::PeekAudioSampleTimeRanges ( TArray< TRange< FMediaTimeStamp > > &  TimeRange)
inlinevirtual

Reimplemented in FMediaSamples.

◆ PeekVideoSampleTime()

virtual bool IMediaSamples::PeekVideoSampleTime ( FMediaTimeStamp TimeStamp)
pure virtual

Implemented in FMediaSamples.

◆ PeekVideoSampleTimeRanges()

virtual bool IMediaSamples::PeekVideoSampleTimeRanges ( TArray< TRange< FMediaTimeStamp > > &  TimeRange)
inlinevirtual

Reimplemented in FMediaSamples.

◆ PurgeOutdatedCaptionSamples()

virtual uint32 IMediaSamples::PurgeOutdatedCaptionSamples ( const FMediaTimeStamp ReferenceTime,
bool  bReversed,
FTimespan  MaxAge 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ PurgeOutdatedMetadataSamples()

virtual uint32 IMediaSamples::PurgeOutdatedMetadataSamples ( const FMediaTimeStamp ReferenceTime,
bool  bReversed,
FTimespan  MaxAge 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ PurgeOutdatedSubtitleSamples()

virtual uint32 IMediaSamples::PurgeOutdatedSubtitleSamples ( const FMediaTimeStamp ReferenceTime,
bool  bReversed,
FTimespan  MaxAge 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ PurgeOutdatedVideoSamples()

virtual uint32 IMediaSamples::PurgeOutdatedVideoSamples ( const FMediaTimeStamp ReferenceTime,
bool  bReversed,
FTimespan  MaxAge 
)
inlinevirtual

Reimplemented in FMediaSamples.

◆ SetMinExpectedNextSequenceIndex()

virtual void IMediaSamples::SetMinExpectedNextSequenceIndex ( TOptional< int32 InNextSequenceIndex)
inlinevirtual

Reimplemented in FMediaSamples.

◆ SetSampleBufferSize()

virtual void IMediaSamples::SetSampleBufferSize ( int32  BufferSize)
inlinevirtual

Sets the number of samples to be stored in sample container.


The documentation for this class was generated from the following file: