UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MediaSource.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Map.h"
7#include "CoreTypes.h"
9#include "IMediaOptions.h"
12#include "Misc/Variant.h"
14#include "UObject/NameTypes.h"
15#include "UObject/Object.h"
19#include "MediaSourceOptions.h"
20
21#include "MediaSource.generated.h"
22
23class FVariant;
25class UMediaSource;
26class UTexture;
27struct FFrame;
28
31
41UCLASS(Abstract, editinlinenew, BlueprintType, hidecategories=(Object), MinimalAPI)
45{
47
48public:
49
56 UFUNCTION(BlueprintCallable, Category="Media|MediaSource")
57 virtual FString GetUrl() const PURE_VIRTUAL(UMediaSource::GetUrl, return FString(););
58
64 UFUNCTION(BlueprintCallable, Category="Media|MediaSource")
65 virtual bool Validate() const PURE_VIRTUAL(UMediaSource::Validate, return false;);
66
67#if WITH_EDITOR
68
73
77 UTexture* GetThumbnail() const { return ThumbnailImage; }
78
83
85 virtual FString GetDescriptionString() const { return GetUrl(); }
86
88
94#endif // WITH_EDITOR
95
104 static MEDIAASSETS_API void RegisterSpawnFromFileExtension(const FString& Extension, FMediaSourceSpawnDelegate InDelegate);
105
111 static MEDIAASSETS_API void UnregisterSpawnFromFileExtension(const FString& Extension);
112
120 static MEDIAASSETS_API UMediaSource* SpawnMediaSourceForString(const FString& MediaPath, UObject* Outer);
121
122public:
123 //~ UObject interface
124 MEDIAASSETS_API virtual void BeginDestroy() override;
125
126 //~ IMediaOptions interface
127
128 MEDIAASSETS_API virtual FName GetDesiredPlayerName() const override;
129 MEDIAASSETS_API virtual bool GetMediaOption(const FName& Key, bool DefaultValue) const override;
130 MEDIAASSETS_API virtual double GetMediaOption(const FName& Key, double DefaultValue) const override;
131 MEDIAASSETS_API virtual int64 GetMediaOption(const FName& Key, int64 DefaultValue) const override;
132 MEDIAASSETS_API virtual FString GetMediaOption(const FName& Key, const FString& DefaultValue) const override;
133 MEDIAASSETS_API virtual FText GetMediaOption(const FName& Key, const FText& DefaultValue) const override;
134 MEDIAASSETS_API virtual TSharedPtr<FDataContainer, ESPMode::ThreadSafe> GetMediaOption(const FName& Key, const TSharedPtr<FDataContainer, ESPMode::ThreadSafe>& DefaultValue) const override;
135 MEDIAASSETS_API virtual bool HasMediaOption(const FName& Key) const override;
136 MEDIAASSETS_API virtual const UObject* ToUObject() const override;
137
139 UFUNCTION(BlueprintCallable, meta=(DisplayName = "SetMediaOption (boolean)"), Category = "Media|MediaSource")
142 UFUNCTION(BlueprintCallable, meta = (DisplayName = "SetMediaOption (float)"), Category = "Media|MediaSource")
145 MEDIAASSETS_API void SetMediaOptionDouble(const FName& Key, double Value);
147 UFUNCTION(BlueprintCallable, meta = (DisplayName = "SetMediaOption (integer64)"), Category = "Media|MediaSource")
150 UFUNCTION(BlueprintCallable, meta = (DisplayName = "SetMediaOption (string)"), Category = "Media|MediaSource")
151 MEDIAASSETS_API void SetMediaOptionString(const FName& Key, const FString& Value);
152
153private:
155 TMap<FName, FVariant> MediaOptionsMap;
156
161 MEDIAASSETS_API const FVariant* GetMediaOptionDefault(const FName& Key) const;
162
166 MEDIAASSETS_API void SetMediaOption(const FName& Key, FVariant& Value);
167
171 static MEDIAASSETS_API TMap<FString, FMediaSourceSpawnDelegate>& GetSpawnFromFileExtensionDelegates();
172
173#if WITH_EDITORONLY_DATA
174
178
182
183#endif
184};
#define PURE_VIRTUAL(func,...)
Definition CoreMiscDefines.h:103
FPlatformTypes::int64 int64
A 64-bit signed integer.
Definition Platform.h:1127
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_RetVal_TwoParams(ReturnValueType, DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:63
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define UCLASS(...)
Definition ObjectMacros.h:776
UObject * ToUObject(FPrimitiveSceneDesc *Desc)
Definition RendererScene.cpp:1291
Definition NameTypes.h:617
Definition Text.h:385
Definition Variant.h:114
Definition IMediaOptions.h:15
Definition MediaSourceRendererInterface.h:22
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition MediaSource.h:45
UFUNCTION(BlueprintCallable, meta=(DisplayName="SetMediaOption (boolean)"), Category="Media|MediaSource") MEDIAASSETS_API void SetMediaOptionBool(const FName &Key
Definition Object.h:95
Definition Texture.h:1219
@ false
Definition radaudio_common.h:23
Definition Stack.h:114
Definition ObjectPtr.h:488
Definition Tuple.h:652