UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TMediaSampleSinks< SampleType, SinkType > Class Template Reference

#include <MediaSampleSinks.h>

Public Member Functions

void Add (const TSharedRef< SinkType, ESPMode::ThreadSafe > &SampleSink, UMediaPlayer *Player=nullptr)
 
bool Enqueue (const TSharedRef< SampleType, ESPMode::ThreadSafe > &Sample)
 
void Flush (UMediaPlayer *MediaPlayer)
 
int32 Num () const
 
bool IsEmpty () const
 
void Remove (const TSharedRef< SinkType, ESPMode::ThreadSafe > &SampleSink, UMediaPlayer *Player=nullptr)
 
void Cleanup ()
 
void ReceiveEvent (EMediaSampleSinkEvent Event, const FMediaSampleSinkEventData &Data)
 

Protected Attributes

TArray< TWeakPtr< SinkType, ESPMode::ThreadSafe > > Sinks
 

Detailed Description

template<typename SampleType, typename SinkType = TMediaSampleSink<SampleType>>
class TMediaSampleSinks< SampleType, SinkType >

Collection of media sample sinks.

Parameters
SampleTypeThe type of media samples that the sinks process.

Member Function Documentation

◆ Add()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
void TMediaSampleSinks< SampleType, SinkType >::Add ( const TSharedRef< SinkType, ESPMode::ThreadSafe > &  SampleSink,
UMediaPlayer Player = nullptr 
)
inline

Add the given media sample sink to the collection.

Parameters
SampleSinkThe sink to add.
See also
Num, Remove

◆ Cleanup()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
void TMediaSampleSinks< SampleType, SinkType >::Cleanup ( )
inline

Remove any invalid sinks

◆ Enqueue()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
bool TMediaSampleSinks< SampleType, SinkType >::Enqueue ( const TSharedRef< SampleType, ESPMode::ThreadSafe > &  Sample)
inline

Enqueue the given media samples to the registered sinks.

This method will also remove expired sinks that haven't been removed yet.

Parameters
SampleThe media sample to enqueue.
MaxQueueDepthThe maximum depth of the sink queues before overflow.
Returns
true if the sample was enqueued to all sinks, false if one or more sinks overflowed.
See also
Flush

◆ Flush()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
void TMediaSampleSinks< SampleType, SinkType >::Flush ( UMediaPlayer MediaPlayer)
inline

Flush all registered sinks.

This method will also remove expired sinks that haven't been removed yet.

See also
Enqueue

◆ IsEmpty()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
bool TMediaSampleSinks< SampleType, SinkType >::IsEmpty ( ) const
inline

Check if any sinks are inserted

Returns
True if empty, false otherwise

◆ Num()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
int32 TMediaSampleSinks< SampleType, SinkType >::Num ( ) const
inline

Get the number of sinks in this collection.

Returns
Number of sinks.
See also
Add, Remove

◆ ReceiveEvent()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
void TMediaSampleSinks< SampleType, SinkType >::ReceiveEvent ( EMediaSampleSinkEvent  Event,
const FMediaSampleSinkEventData Data 
)
inline

Receive event and broadcast to sinks

◆ Remove()

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
void TMediaSampleSinks< SampleType, SinkType >::Remove ( const TSharedRef< SinkType, ESPMode::ThreadSafe > &  SampleSink,
UMediaPlayer Player = nullptr 
)
inline

Remove the given media sample sink from the collection.

Parameters
SampleSinkThe sink to remove.
See also
Add, Num

Member Data Documentation

◆ Sinks

template<typename SampleType , typename SinkType = TMediaSampleSink<SampleType>>
TArray<TWeakPtr<SinkType, ESPMode::ThreadSafe> > TMediaSampleSinks< SampleType, SinkType >::Sinks
protected

The collection of registered sinks.


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