Navigation
API > API/Plugins > API/Plugins/TmvMedia
Abstract interface for muxing encoded access units into a media container.
Workflow:
Configure() with output settings.
AddTrack() for each media track, receiving a track index.
Start() to begin the muxing process.
AddSample() for each sample on each track (called from the sample request callback).
Finalize() once all tracks signal their final sample.
Sample delivery is asynchronous: the muxer calls back via FSampleRequestDelegate to request samples. The caller provides them via AddSample().
| Name | ITmvMediaMuxer |
| Type | class |
| Header File | /Engine/Plugins/Media/TmvMedia/Source/TmvMedia/Public/Encoder/ITmvMediaMuxer.h |
| Include Path | #include "Encoder/ITmvMediaMuxer.h" |
Syntax
class ITmvMediaMuxer
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~ITmvMediaMuxer() |
Encoder/ITmvMediaMuxer.h |
Structs
| Name | Remarks |
|---|---|
| FSampleRequest | Defines an entry in the sample request array indicating which track needs a sample. |
Enums
Public
| Name | Remarks |
|---|---|
| EStatus | Status reported upon completion or failure. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FSampleRequestDelegate | TBaseDelegate_OneParam< void, const TArray< FSampleRequest > & > | Delegate invoked when the muxer needs samples for one or more tracks. | Encoder/ITmvMediaMuxer.h |
| FStatusDelegate | TBaseDelegate_OneParam< void, EStatus > | Delegate invoked when muxing completes or fails. | Encoder/ITmvMediaMuxer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
ETmvMediaContainerResult AddSample
(
int32 InTrackIndex, |
Provide a sample to the muxer for the specified track. | Encoder/ITmvMediaMuxer.h | |
int32 AddTrack
(
const FTmvMediaMuxerTrackConfig& InTrackConfig |
Add a track to the container. Must be called after Configure() and before Start(). | Encoder/ITmvMediaMuxer.h | |
ETmvMediaContainerResult Configure
(
const FTmvMediaMuxerConfig& InConfig |
Configure the muxer with output settings. Must be called before AddTrack(). | Encoder/ITmvMediaMuxer.h | |
ETmvMediaContainerResult Finalize() |
Stop muxing and finalize the output file. | Encoder/ITmvMediaMuxer.h | |
FString GetLastError() |
Returns a human-readable error message if the last operation failed. | Encoder/ITmvMediaMuxer.h | |
ETmvMediaContainerResult Start
(
FSampleRequestDelegate InSampleRequestDelegate, |
Start the muxing process. The muxer will begin calling InSampleRequestDelegate to request samples. | Encoder/ITmvMediaMuxer.h |
Public Virtual
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual bool SetStartTimecode
(
const FTimecode& InTimecode, |
Set the starting timecode to be written into the container. | Encoder/ITmvMediaMuxer.h | |
virtual bool SupportsStartTimecode() |
Whether this muxer supports writing a start timecode into the container. | Encoder/ITmvMediaMuxer.h |