FLocalTranscoderConfiguration
The configuration of the video mixing on the local client.
USTRUCT(BlueprintType)
struct FLocalTranscoderConfiguration
{
GENERATED_BODY()
public:
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration")
int64 streamCount = 0;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration")
TArray<FTranscodingVideoStream> videoInputStreams;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration")
FVideoEncoderConfiguration videoOutputConfiguration = FVideoEncoderConfiguration();
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration")
bool syncWithPrimaryCamera = true;
FLocalTranscoderConfiguration(){}
FLocalTranscoderConfiguration(const agora::rtc::LocalTranscoderConfiguration & AgoraData){
streamCount = AgoraData.streamCount;
for(int i = 0; i< streamCount; i++){
videoInputStreams.Add(FTranscodingVideoStream(AgoraData.videoInputStreams[i]));
}
videoOutputConfiguration = FVideoEncoderConfiguration(AgoraData.videoOutputConfiguration);
syncWithPrimaryCamera = AgoraData.syncWithPrimaryCamera;
}
agora::rtc::LocalTranscoderConfiguration CreateAgoraData() const {
agora::rtc::LocalTranscoderConfiguration AgoraData;
AgoraData.streamCount = streamCount;
SET_UABT_TARRARY_CUSTOMDATA_TO_AGORA_ARRAY___MEMALLOC(AgoraData.videoInputStreams, agora::rtc::TranscodingVideoStream, streamCount, this->videoInputStreams)
AgoraData.videoOutputConfiguration = videoOutputConfiguration.CreateAgoraData();
AgoraData.syncWithPrimaryCamera = syncWithPrimaryCamera;
return AgoraData;
}
void FreeAgoraData(agora::rtc::LocalTranscoderConfiguration & AgoraData) const {
SET_UABT_TARRARY_CUSTOMDATA_TO_AGORA_ARRAY___MEMFREE(AgoraData.videoInputStreams, streamCount, FTranscodingVideoStream)
videoOutputConfiguration.FreeAgoraData(AgoraData.videoOutputConfiguration);
}
};
Attributes
- streamCount
- The number of the video streams for the video mixing on the local client.
- videoInputStreams
- The video streams for local video mixing. See FTranscodingVideoStream.
- videoOutputConfiguration
- The encoding configuration of the mixed video stream after the local video mixing. See FUABT_VideoEncoderConfiguration.