Go to the documentation of this file.
40 bool enableforced =
false;
42 for (
unsigned i = 0; i < subtitle.num_rects; i++)
44 forced = forced ||
static_cast<bool>(subtitle.rects[i]->flags & AV_SUBTITLE_FLAG_FORCED);
57 LOG(VB_PLAYBACK, LOG_INFO,
58 "SubtitleReader: Ignoring forced AV subtitle.");
63 LOG(VB_PLAYBACK, LOG_INFO,
64 "SubtitleReader: Allowing forced AV subtitle.");
68 bool clearsubs =
false;
79 LOG(VB_GENERAL, LOG_ERR,
80 QString(
"SubtitleReader: >%1 AVSubtitles queued - clearing.")
110 avsubtitle_free(&subtitle);
117 if (!subtitleFileName.isEmpty())
static const int MAX_BUFFERS_BEFORE_CLEAR
void TextSubtitlesUpdated()
void SetInProgress(bool isInProgress)
SubtitleReader(MythPlayer *parent)
TextSubtitles m_textSubtitles
bool AddAVSubtitle(AVSubtitle &subtitle, bool fix_position, bool allow_forced)
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
static const int MAX_EXT_BUFFERS_BEFORE_CLEAR
void EnableAVSubtitles(bool enable)
std::chrono::milliseconds m_duration
void ClearAVSubtitles(bool force=false)
void LoadExternalSubtitles(const QString &subtitleFileName, bool isInProgress)
void EnableTextSubtitles(bool enable)
~SubtitleReader() override
void ClearRawTextSubtitles(void)
static void FreeAVSubtitle(AVSubtitle &sub)
RawTextSubs m_rawTextSubtitles
void EnableRawTextSubtitles(bool enable)
QStringList GetRawTextSubtitles(std::chrono::milliseconds &duration)
bool m_rawTextSubtitlesEnabled
bool m_avSubtitlesEnabled
MythDeque< AVSubtitle > m_buffers
bool GetHasSubtitles() const
bool m_textSubtitlesEnabled
bool HasTextSubtitles(void)
void AddRawTextSubtitle(const QStringList &list, std::chrono::milliseconds duration)
TextSubtitleParser * m_externalParser
void TextSubtitlesUpdated()
AVSubtitles m_avSubtitles
void LoadSubtitles(bool inBackground)