2023-07-15 03:07:19 +08:00

80 lines
1.5 KiB
C++

// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "UObject/Object.h"
#include "UObject/ObjectMacros.h"
#include "FFMPEGMediaSettings.generated.h"
UENUM()
enum class ESynchronizationType : uint8 {
AudioMaster = 0,
VideoMaster,
ExternalClock
};
UENUM()
enum class ERTSPTransport : uint8 {
Default = 0,
Udp,
UdpMulticast,
Tcp,
Http,
Https
};
/**
* Settings for the WmfMedia plug-in.
*/
UCLASS(config=Engine)
class FFMPEGMEDIAFACTORY_API UFFMPEGMediaSettings
: public UObject
{
GENERATED_BODY()
public:
/** Default constructor. */
UFFMPEGMediaSettings();
public:
UPROPERTY(config, EditAnywhere, Category=Media)
bool UseInfiniteBuffer;
UPROPERTY(config, EditAnywhere, Category = Media)
bool AllowFrameDrop;
UPROPERTY(config, EditAnywhere, Category = Media)
bool UseHardwareAcceleratedCodecs;
UPROPERTY(config, EditAnywhere, Category = Media)
bool DisableAudio;
UPROPERTY(config, EditAnywhere, Category=Media)
bool ZeroLatencyStreaming;
UPROPERTY(config, EditAnywhere, Category = Media)
ERTSPTransport RtspTransport;
//Allow non spec compliant speedup tricks.
UPROPERTY(config, EditAnywhere, Category = Media)
bool SpeedUpTricks;
UPROPERTY(config, EditAnywhere, Category = Media, meta = (UIMin=0, UIMax = 16))
int AudioThreads;
UPROPERTY(config, EditAnywhere, Category = Media, meta = (UIMin=0, UIMax = 16))
int VideoThreads;
UPROPERTY(config, EditAnywhere, Category = Media)
ESynchronizationType SyncType;
};