UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MediaPlayerOptions.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
8#include "Containers/Map.h"
9#include "Misc/Variant.h"
10
11#include "MediaPlayerOptions.generated.h"
12
13UENUM(BlueprintType)
20
21
22UENUM(BlueprintType)
24{
25 // Ignore the given value and lets the media player choose.
26 Ignored,
27 // Given seek time is relative to the start of the media.
29};
30
31
32UENUM(BlueprintType)
34{
35 // Let the media player choose defaults.
36 UseMediaPlayerDefaults UMETA(DisplayName="Media player selects default tracks"),
37 // Use fixed track indices as specified with MediaPlayerTrackOptions
38 UseTrackOptionIndices UMETA(DisplayName="Uses provided track indices"),
39 // Use language codes as specified with MediaPlayerInitialTrackLanguageSelection
40 UseLanguageCodes UMETA(DisplayName="Use provided language codes or have media player select defaults when there is no match")
41};
42
43
44USTRUCT(BlueprintType)
46{
48
50 Audio(0),
51 Caption(-1),
52 Metadata(-1),
53 Script(-1),
54 Subtitle(-1),
55 Text(-1),
56 Video(0)
57 {
58 }
59
62 {
63 return (Audio != Other.Audio
64 || Caption != Other.Caption
65 || Metadata != Other.Metadata
66 || Script != Other.Script
67 || Subtitle != Other.Subtitle
68 || Text != Other.Text
69 || Video != Other.Video);
70 }
71
72 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
74
75 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
77
78 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
80
81 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
83
84 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
86
87 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
89
90 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks")
92};
93
94
95USTRUCT(BlueprintType)
97{
99
102
104 { return Video != Other.Video || Audio != Other.Audio || Subtitle != Other.Subtitle || Caption != Other.Caption; }
105
106 // Language code or codes of the video track to select. Useful when the video contains burned-in subtitles or localized scenes.
107 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(ToolTip="Comma separated RFC 4647 language ranges in order of priority, or keep empty for default."))
108 FString Video;
109
110 // Language code or codes of the audio track to select.
111 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(ToolTip="Comma separated RFC 4647 language ranges in order of priority, or keep empty for default."))
112 FString Audio;
113
114 // Language code or codes of the subtitle track to select.
115 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(ToolTip="Comma separated RFC 4647 language ranges in order of priority, or keep empty for default."))
116 FString Subtitle;
117
118 // Language code or codes of the caption track to select. Captions may not provide language codes if carried in the video signal.
119 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(ToolTip="Comma separated RFC 4647 language ranges in order of priority, or keep empty for default."))
120 FString Caption;
121};
122
123USTRUCT(BlueprintType)
125{
127
136
138 {
139 SeekTime = FTimespan::MinValue();
140 TrackSelection = EMediaPlayerOptionTrackSelectMode::UseMediaPlayerDefaults;
144 }
145
148 {
149 return (Tracks != Other.Tracks
150 || TracksByLanguage != Other.TracksByLanguage
151 || TrackSelection != Other.TrackSelection
152 || SeekTime != Other.SeekTime
153 || SeekTimeType != Other.SeekTimeType
154 || PlayOnOpen != Other.PlayOnOpen
155 || Loop != Other.Loop);
156 }
157
159 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(DisplayName="Initial track indices", ToolTip="Indices of the media tracks to select for playback", EditCondition="TrackSelection==EMediaPlayerOptionTrackSelectMode::UseTrackOptionIndices"))
161
163 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(DisplayName="Initial track language", ToolTip="Language of the media tracks to select for playback", EditCondition="TrackSelection==EMediaPlayerOptionTrackSelectMode::UseLanguageCodes"))
165
167 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Tracks", meta=(DisplayName="Initial track selection mode", ToolTip="How the initial media tracks for playback are selected"))
169
171 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Misc", meta=(EditCondition="SeekTimeType!=EMediaPlayerOptionSeekTimeType::Ignored"))
172 FTimespan SeekTime;
173
175 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Misc", meta=(DisplayName="Seek time interpretation"))
177
179 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Misc")
181
183 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "Misc")
185
186
188 TMap<FName, FVariant> InternalCustomOptions;
189};
190
192{
193 inline const FName& Environment()
194 { static FName OptName(TEXT("Environment")); return OptName; }
196 { static FName OptName(TEXT("Sequencer")); return OptName; }
198 { static FName OptName(TEXT("Preview")); return OptName; }
199
201 { static FName OptName(TEXT("ImgMediaSmartCacheEnabled")); return OptName; }
203 { static FName OptName(TEXT("ImgMediaSmartCacheTimeToLookAhead")); return OptName; }
204
209 inline const FName& ViewMediaTexture()
210 { static FName OptName(TEXT("ViewMediaTexture")); return OptName; }
211
215 inline const FName& ParseTimecodeInfo()
216 { static FName OptName(TEXT("ParseTimecodeInfo")); return OptName; }
217}
EGLSurface EGLnsecsANDROID time
Definition AndroidOpenGLFunctions.h:9
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EMediaPlayerOptionTrackSelectMode
Definition MediaPlayerOptions.h:34
EMediaPlayerOptionBooleanOverride
Definition MediaPlayerOptions.h:15
EMediaPlayerOptionSeekTimeType
Definition MediaPlayerOptions.h:24
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
const void OO_SINTa void OodleLZ_CompressionLevel selection
Definition OodleDataCompressionFormat.cpp:93
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition NameTypes.h:617
Definition Variant.h:114
Definition UnrealString.h.inl:34
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition MediaPlayerOptions.h:192
const FName & ParseTimecodeInfo()
Definition MediaPlayerOptions.h:215
const FName & Environment_Preview()
Definition MediaPlayerOptions.h:197
const FName & ImgMediaSmartCacheTimeToLookAhead()
Definition MediaPlayerOptions.h:202
const FName & ViewMediaTexture()
Definition MediaPlayerOptions.h:209
const FName & Environment_Sequencer()
Definition MediaPlayerOptions.h:195
const FName & ImgMediaSmartCacheEnabled()
Definition MediaPlayerOptions.h:200
Definition MediaPlayerOptions.h:97
bool operator!=(const FMediaPlayerInitialTrackLanguageSelection &Other) const
Definition MediaPlayerOptions.h:103
Definition MediaPlayerOptions.h:125
bool operator!=(const FMediaPlayerOptions &Other) const
Definition MediaPlayerOptions.h:147
void SetAllAsOptional()
Definition MediaPlayerOptions.h:137
Definition MediaPlayerOptions.h:46
bool operator!=(const FMediaPlayerTrackOptions &Other) const
Definition MediaPlayerOptions.h:61
Definition Timespan.h:76
static FTimespan MinValue()
Definition Timespan.h:699