79 lines
2.6 KiB
C++
79 lines
2.6 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "MediaHelpers.h"
|
|
|
|
#include "IMediaControls.h"
|
|
#include "IMediaEventSink.h"
|
|
#include "IMediaTracks.h"
|
|
|
|
|
|
namespace MediaUtils
|
|
{
|
|
FString EventToString(EMediaEvent Event)
|
|
{
|
|
switch (Event)
|
|
{
|
|
case EMediaEvent::MediaBuffering: return TEXT("MediaBuffering");
|
|
case EMediaEvent::MediaBufferingComplete: return TEXT("MediaBufferingComplete");
|
|
case EMediaEvent::MediaClosed: return TEXT("MediaClosed");
|
|
case EMediaEvent::MediaConnecting: return TEXT("MediaConnecting");
|
|
case EMediaEvent::MediaOpened: return TEXT("MediaOpened");
|
|
case EMediaEvent::MediaOpenFailed: return TEXT("MediaOpenFailed");
|
|
case EMediaEvent::PlaybackEndReached: return TEXT("PlaybackEndReached");
|
|
case EMediaEvent::PlaybackResumed: return TEXT("PlaybackResumed");
|
|
case EMediaEvent::PlaybackSuspended: return TEXT("PlaybackSuspended");
|
|
case EMediaEvent::SeekCompleted: return TEXT("SeekCompleted");
|
|
case EMediaEvent::TracksChanged: return TEXT("TracksChanged");
|
|
case EMediaEvent::MetadataChanged: return TEXT("MetadataChanged");
|
|
|
|
case EMediaEvent::Internal_PurgeVideoSamplesHint: return TEXT("Internal: PurgeVideoSamplesHint");
|
|
case EMediaEvent::Internal_VideoSamplesAvailable: return TEXT("Internal: VideoSamplesAvailable");
|
|
case EMediaEvent::Internal_VideoSamplesUnavailable: return TEXT("Internal: VideoSamplesUnavailable");
|
|
case EMediaEvent::Internal_AudioSamplesAvailable: return TEXT("Internal: AudioSamplesAvailable");
|
|
case EMediaEvent::Internal_AudioSamplesUnavailable: return TEXT("Internal: AudioSamplesUnavailable");
|
|
|
|
|
|
// no default case; all cases must be implemented!
|
|
}
|
|
|
|
return TEXT("Unknown");
|
|
}
|
|
|
|
|
|
FString StateToString(EMediaState State)
|
|
{
|
|
switch (State)
|
|
{
|
|
case EMediaState::Closed: return TEXT("Closed");
|
|
case EMediaState::Error: return TEXT("Error");
|
|
case EMediaState::Paused: return TEXT("Paused");
|
|
case EMediaState::Playing: return TEXT("Playing");
|
|
case EMediaState::Preparing: return TEXT("Preparing");
|
|
case EMediaState::Stopped: return TEXT("Stopped");
|
|
|
|
// no default case; all cases must be implemented!
|
|
}
|
|
|
|
return TEXT("Unknown");
|
|
}
|
|
|
|
|
|
FString TrackTypeToString(EMediaTrackType TrackType)
|
|
{
|
|
switch (TrackType)
|
|
{
|
|
case EMediaTrackType::Audio: return TEXT("Audio");
|
|
case EMediaTrackType::Caption: return TEXT("Caption");
|
|
case EMediaTrackType::Metadata: return TEXT("Metadata");
|
|
case EMediaTrackType::Script: return TEXT("Script");
|
|
case EMediaTrackType::Subtitle: return TEXT("Subtitle");
|
|
case EMediaTrackType::Text: return TEXT("Text");
|
|
case EMediaTrackType::Video: return TEXT("Video");
|
|
|
|
// no default case; all cases must be implemented!
|
|
}
|
|
|
|
return TEXT("Unknown");
|
|
}
|
|
}
|