UP-Viagg-io/Viagg-io/Assets/Packages/AVProVideo/Runtime/Scripts/Internal/TextTrack.cs

48 lines
1.2 KiB
C#
Raw Normal View History

using System.Collections;
using System.Collections.Generic;
using System.Text;
//-----------------------------------------------------------------------------
// Copyright 2015-2021 RenderHeads Ltd. All rights reserved.
//-----------------------------------------------------------------------------
namespace RenderHeads.Media.AVProVideo
{
public class TextCue
{
private TextCue() { }
internal TextCue(string text)
{
Text = text;
}
public string Text { get; private set; }
}
public partial class BaseMediaPlayer : ITextTracks
{
protected TextCue _currentTextCue = null;
public TextCue GetCurrentTextCue() { return _currentTextCue; } // Returns null when there is no active text
protected bool UpdateTextCue(bool force = false)
{
bool result = false;
// Has it changed since the last 'tick'
if (force || InternalIsChangedTextCue())
{
_currentTextCue = null;
string text = InternalGetCurrentTextCue();
if (!string.IsNullOrEmpty(text))
{
_currentTextCue = new TextCue(text);
}
result = true;
}
return result;
}
internal abstract bool InternalIsChangedTextCue();
internal abstract string InternalGetCurrentTextCue();
}
}