本文整理汇总了C++中ProgramInfo::GetAvailableStatus方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramInfo::GetAvailableStatus方法的具体用法?C++ ProgramInfo::GetAvailableStatus怎么用?C++ ProgramInfo::GetAvailableStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramInfo
的用法示例。
在下文中一共展示了ProgramInfo::GetAvailableStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GeneratePreviewImage
QString PreviewGeneratorQueue::GeneratePreviewImage(
ProgramInfo &pginfo,
const QSize &size,
const QString &outputfile,
long long time, bool in_seconds,
QString token)
{
QString key = QString("%1_%2x%3_%4%5")
.arg(pginfo.GetBasename()).arg(size.width()).arg(size.height())
.arg(time).arg(in_seconds?"s":"f");
if (pginfo.GetAvailableStatus() == asPendingDelete)
{
SendEvent(pginfo, "PREVIEW_FAILED", key, token,
"Pending Delete", QDateTime());
return QString();
}
QString filename = (outputfile.isEmpty()) ?
pginfo.GetPathname() + ".png" : outputfile;
QString ret_file = filename;
QString ret;
bool is_special = !outputfile.isEmpty() || time >= 0 ||
size.width() || size.height();
bool needs_gen = true;
if (!is_special)
{
QDateTime previewLastModified;
bool streaming = filename.left(1) != "/";
bool locally_accessible = false;
bool bookmark_updated = false;
QDateTime bookmark_ts = pginfo.QueryBookmarkTimeStamp();
QDateTime cmp_ts;
if (bookmark_ts.isValid())
cmp_ts = bookmark_ts;
else if (MythDate::current() >= pginfo.GetRecordingEndTime())
cmp_ts = pginfo.GetLastModifiedTime();
else
cmp_ts = pginfo.GetRecordingStartTime();
if (streaming)
{
ret_file = QString("%1/remotecache/%2")
.arg(GetConfDir()).arg(filename.section('/', -1));
QFileInfo finfo(ret_file);
if (finfo.isReadable() && finfo.lastModified() >= cmp_ts)
{
// This is just an optimization to avoid
// hitting the backend if our cached copy
// is newer than the bookmark, or if we have
// a preview and do not update it when the
// bookmark changes.
previewLastModified = finfo.lastModified();
}
else if (!IsGeneratingPreview(key))
{
previewLastModified =
RemoteGetPreviewIfModified(pginfo, ret_file);
}
}
else
{
QFileInfo fi(filename);
if ((locally_accessible = fi.isReadable()))
previewLastModified = fi.lastModified();
}
bookmark_updated =
(!previewLastModified.isValid() || (previewLastModified <= cmp_ts));
if (bookmark_updated && bookmark_ts.isValid() &&
previewLastModified.isValid())
{
ClearPreviewGeneratorAttempts(key);
}
bool preview_exists = previewLastModified.isValid();
if (0)
{
QString alttext = (bookmark_ts.isValid()) ? QString() :
QString("\n\t\t\tcmp_ts: %1")
.arg(cmp_ts.toString(Qt::ISODate));
LOG(VB_GENERAL, LOG_INFO,
QString("previewLastModified: %1\n\t\t\t"
"bookmark_ts: %2%3\n\t\t\t"
"pginfo.lastmodified: %4")
.arg(previewLastModified.toString(Qt::ISODate))
.arg(bookmark_ts.toString(Qt::ISODate))
.arg(alttext)
.arg(pginfo.GetLastModifiedTime(MythDate::ISODate)) +
QString("Title: %1\n\t\t\t")
.arg(pginfo.toString(ProgramInfo::kTitleSubtitle)) +
QString("File '%1' \n\t\t\tCache '%2'")
.arg(filename).arg(ret_file) +
QString("\n\t\t\tPreview Exists: %1, Bookmark Updated: %2, "
//.........这里部分代码省略.........