// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include #include "Templates/RefCounting.h" #include "epic_rtc/core/audio/audio_track.h" #include "epic_rtc/core/data_track.h" #include "epic_rtc/core/video/video_track.h" namespace UE::PixelStreaming2 { template || std::is_same_v || std::is_same_v)> class TEpicRtcTrack { public: TEpicRtcTrack(TrackInterface* Track) : Track(Track) { } virtual ~TEpicRtcTrack() = default; /** * @return The id of the underlying EpicRtc track. */ EpicRtcStringView GetTrackId() const { return Track ? Track->GetId() : EpicRtcStringView{ ._ptr = nullptr, ._length = 0 }; } protected: TRefCountPtr Track; }; } // namespace UE::PixelStreaming2