123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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();
- }
- }
|