From d2298f3eba3571ebdb49eb87e77500a51e0dff2a Mon Sep 17 00:00:00 2001 From: Jakub Audykowicz Date: Tue, 12 Sep 2023 10:36:54 +0200 Subject: [PATCH] Warn if the video track ID is suspicious --- DolbyIO/Source/Private/DolbyIOSubsystem.cpp | 10 ++++++++++ DolbyIO/Source/Public/DolbyIOSubsystem.h | 1 + 2 files changed, 11 insertions(+) diff --git a/DolbyIO/Source/Private/DolbyIOSubsystem.cpp b/DolbyIO/Source/Private/DolbyIOSubsystem.cpp index 417c3840..b4cd85ea 100644 --- a/DolbyIO/Source/Private/DolbyIOSubsystem.cpp +++ b/DolbyIO/Source/Private/DolbyIOSubsystem.cpp @@ -219,6 +219,7 @@ void UDolbyIOSubsystem::Initialize(const FString& Token) const FDolbyIOVideoTrack VideoTrack = ToFDolbyIOVideoTrack(Event.track); DLB_UE_LOG("Video track removed: TrackID=%s ParticipantID=%s", *VideoTrack.TrackID, *VideoTrack.ParticipantID); + WarnIfVideoTrackSuspicious(VideoTrack.TrackID); FScopeLock Lock{&VideoSinksLock}; if (std::shared_ptr* Sink = VideoSinks.Find(VideoTrack.TrackID)) @@ -632,9 +633,18 @@ void UDolbyIOSubsystem::DisableVideo() void UDolbyIOSubsystem::BroadcastVideoTrackAdded(const FDolbyIOVideoTrack& VideoTrack) { DLB_UE_LOG("Video track added: TrackID=%s ParticipantID=%s", *VideoTrack.TrackID, *VideoTrack.ParticipantID); + WarnIfVideoTrackSuspicious(VideoTrack.TrackID); BroadcastEvent(OnVideoTrackAdded, VideoTrack); } +void UDolbyIOSubsystem::WarnIfVideoTrackSuspicious(const FString& VideoTrackID) +{ + if (VideoTrackID == "{-}") + { + DLB_UE_WARN("Suspicious video track ID added, things may not work as expected"); + } +} + void UDolbyIOSubsystem::BroadcastVideoTrackEnabled(const FDolbyIOVideoTrack& VideoTrack) { DLB_UE_LOG("Video track enabled: TrackID=%s ParticipantID=%s", *VideoTrack.TrackID, *VideoTrack.ParticipantID); diff --git a/DolbyIO/Source/Public/DolbyIOSubsystem.h b/DolbyIO/Source/Public/DolbyIOSubsystem.h index bbdd0d53..99291620 100644 --- a/DolbyIO/Source/Public/DolbyIOSubsystem.h +++ b/DolbyIO/Source/Public/DolbyIOSubsystem.h @@ -442,6 +442,7 @@ class DOLBYIO_API UDolbyIOSubsystem : public UGameInstanceSubsystem void BroadcastVideoTrackAdded(const FDolbyIOVideoTrack& VideoTrack); void BroadcastVideoTrackEnabled(const FDolbyIOVideoTrack& VideoTrack); void ProcessBufferedVideoTracks(const FString& ParticipantID); + void WarnIfVideoTrackSuspicious(const FString& VideoTrackID); void SetLocationUsingFirstPlayer(); void SetLocalPlayerLocationImpl(const FVector& Location);