本文整理汇总了C++中CFileItem::HasPVRRecordingInfoTag方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileItem::HasPVRRecordingInfoTag方法的具体用法?C++ CFileItem::HasPVRRecordingInfoTag怎么用?C++ CFileItem::HasPVRRecordingInfoTag使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileItem
的用法示例。
在下文中一共展示了CFileItem::HasPVRRecordingInfoTag方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: PlayMedia
bool CPVRManager::PlayMedia(const CFileItem& item)
{
if (!g_PVRManager.IsStarted())
{
CLog::Log(LOGERROR, "CApplication - %s PVR manager not started to play file '%s'", __FUNCTION__, item.GetPath().c_str());
return false;
}
CFileItem pvrItem(item);
if (URIUtils::IsPVRChannel(item.GetPath()) && !item.HasPVRChannelInfoTag())
pvrItem = *g_PVRChannelGroups->GetByPath(item.GetPath());
else if (URIUtils::IsPVRRecording(item.GetPath()) && !item.HasPVRRecordingInfoTag())
pvrItem = *g_PVRRecordings->GetByPath(item.GetPath());
if (!pvrItem.HasPVRChannelInfoTag() && !pvrItem.HasPVRRecordingInfoTag())
return false;
// check parental lock if we want to play a channel
if (pvrItem.IsPVRChannel() && !g_PVRManager.CheckParentalLock(*pvrItem.GetPVRChannelInfoTag()))
return false;
if (!g_application.IsCurrentThread())
{
CApplicationMessenger::Get().MediaPlay(pvrItem);
return true;
}
return g_application.PlayFile(pvrItem, false) == PLAYBACK_OK;
}
示例2: PlayMedia
bool CPVRManager::PlayMedia(const CFileItem& item)
{
if (!g_PVRManager.IsStarted())
{
CLog::Log(LOGERROR, "CApplication - %s PVR manager not started to play file '%s'", __FUNCTION__, item.GetPath().c_str());
return false;
}
CFileItem pvrItem(item);
if (URIUtils::IsPVRChannel(item.GetPath()) && !item.HasPVRChannelInfoTag())
pvrItem = *g_PVRChannelGroups->GetByPath(item.GetPath());
else if (URIUtils::IsPVRRecording(item.GetPath()) && !item.HasPVRRecordingInfoTag())
pvrItem = *g_PVRRecordings->GetByPath(item.GetPath());
if (!pvrItem.HasPVRChannelInfoTag() && !pvrItem.HasPVRRecordingInfoTag())
return false;
// check parental lock if we want to play a channel
if (pvrItem.IsPVRChannel() && !g_PVRManager.CheckParentalLock(pvrItem.GetPVRChannelInfoTag()))
return false;
if (!g_application.IsCurrentThread())
{
CFileItemList *l = new CFileItemList; //don't delete,
l->Add(std::make_shared<CFileItem>(pvrItem));
CApplicationMessenger::GetInstance().PostMsg(TMSG_MEDIA_PLAY, -1, -1, static_cast<void*>(l));
return true;
}
return g_application.PlayFile(pvrItem, "videoplayer", false) == PLAYBACK_OK;
}
示例3: GetClient
CPVRClientPtr CPVRManager::GetClient(const CFileItem &item) const
{
int iClientID = PVR_INVALID_CLIENT_ID;
if (item.HasPVRChannelInfoTag())
iClientID = item.GetPVRChannelInfoTag()->ClientID();
else if (item.HasPVRRecordingInfoTag())
iClientID = item.GetPVRRecordingInfoTag()->m_iClientId;
else if (item.HasPVRTimerInfoTag())
iClientID = item.GetPVRTimerInfoTag()->m_iClientId;
else if (item.HasEPGInfoTag())
iClientID = item.GetEPGInfoTag()->ClientID();
else if (URIUtils::IsPVRChannel(item.GetPath()))
{
const std::shared_ptr<CFileItem> channelItem = m_channelGroups->GetByPath(item.GetPath());
if (channelItem)
iClientID = channelItem->GetPVRChannelInfoTag()->ClientID();
}
else if (URIUtils::IsPVRRecording(item.GetPath()))
{
const std::shared_ptr<CFileItem> recordingItem = m_recordings->GetByPath(item.GetPath());
if (recordingItem)
iClientID = recordingItem->GetPVRRecordingInfoTag()->ClientID();
}
return GetClient(iClientID);
}
示例4: SetPlayCount
void CPVRRecordings::SetPlayCount(const CFileItem &item, int iPlayCount)
{
if (!item.HasPVRRecordingInfoTag())
return;
const CPVRRecording *recording = item.GetPVRRecordingInfoTag();
CSingleLock lock(m_critSection);
for (unsigned int iRecordingPtr = 0; iRecordingPtr < m_recordings.size(); iRecordingPtr++)
{
CPVRRecording *current = m_recordings.at(iRecordingPtr);
if (*current == *recording)
{
current->SetPlayCount(iPlayCount);
break;
}
}
}