本文整理汇总了C++中CFileItem::IsType方法的典型用法代码示例。如果您正苦于以下问题:C++ CFileItem::IsType方法的具体用法?C++ CFileItem::IsType怎么用?C++ CFileItem::IsType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CFileItem
的用法示例。
在下文中一共展示了CFileItem::IsType方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IsPlaylist
bool CPlayListFactory::IsPlaylist(const CFileItem& item)
{
CStdString strMimeType = item.GetMimeType();
strMimeType.ToLower();
/* These are abit uncertain
if(strMimeType == "video/x-ms-asf"
|| strMimeType == "video/x-ms-asx"
|| strMimeType == "video/x-ms-wmv"
|| strMimeType == "video/x-ms-wma"
|| strMimeType == "video/x-ms-wfs"
|| strMimeType == "video/x-ms-wvx"
|| strMimeType == "video/x-ms-wax"
|| strMimeType == "video/x-ms-asf")
return true;
*/
// online m3u8 files are hls:// -- do not treat as playlist
if (item.IsInternetStream() && item.IsType(".m3u8"))
return false;
if(strMimeType == "audio/x-pn-realaudio"
|| strMimeType == "playlist"
|| strMimeType == "audio/x-mpegurl")
return true;
return IsPlaylist(item.GetPath());
}
示例2: GetPlayers
void CPlayerCoreFactory::GetPlayers( const CFileItem& item, VECPLAYERCORES &vecCores)
{
CURL url(item.GetPath());
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers(%s)", item.GetPath().c_str());
// Process rules
for(unsigned int i = 0; i < s_vecCoreSelectionRules.size(); i++)
s_vecCoreSelectionRules[i]->GetPlayers(item, vecCores);
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: matched %"PRIuS" rules with players", vecCores.size());
if( PAPlayer::HandlesType(url.GetFileType()) )
{
// We no longer force PAPlayer as our default audio player (used to be true):
bool bAdd = false;
if (url.GetProtocol().Equals("mms"))
{
bAdd = false;
}
else if (item.IsType(".wma"))
{
// bAdd = true;
// DVDPlayerCodec codec;
// if (!codec.Init(item.GetPath(),2048))
// bAdd = false;
// codec.DeInit();
}
if (bAdd)
{
if( g_guiSettings.GetInt("audiooutput.mode") == AUDIO_ANALOG && !AUDIO_IS_BITSTREAM(g_guiSettings.GetInt("audiooutput2.mode")) )
{
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: adding PAPlayer (%d)", EPC_PAPLAYER);
vecCores.push_back(EPC_PAPLAYER);
}
else if (url.GetFileType().Equals("ac3")
|| url.GetFileType().Equals("dts"))
{
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: adding DVDPlayer (%d)", EPC_DVDPLAYER);
vecCores.push_back(EPC_DVDPLAYER);
}
else
{
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: adding PAPlayer (%d)", EPC_PAPLAYER);
vecCores.push_back(EPC_PAPLAYER);
}
}
}
// Process defaults
// Set video default player. Check whether it's video first (overrule audio check)
// Also push these players in case it is NOT audio either
if (item.IsVideo() || !item.IsAudio())
{
PLAYERCOREID eVideoDefault = GetPlayerCore("videodefaultplayer");
if (eVideoDefault != EPC_NONE)
{
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: adding videodefaultplayer (%d)", eVideoDefault);
vecCores.push_back(eVideoDefault);
}
GetPlayers(vecCores, false, true); // Video-only players
GetPlayers(vecCores, true, true); // Audio & video players
}
// Set audio default player
// Pushback all audio players in case we don't know the type
if (item.IsAudio())
{
PLAYERCOREID eAudioDefault = GetPlayerCore("audiodefaultplayer");
if (eAudioDefault != EPC_NONE)
{
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: adding audiodefaultplayer (%d)", eAudioDefault);
vecCores.push_back(eAudioDefault);
}
GetPlayers(vecCores, true, false); // Audio-only players
GetPlayers(vecCores, true, true); // Audio & video players
}
/* make our list unique, preserving first added players */
unique(vecCores);
CLog::Log(LOGDEBUG, "CPlayerCoreFactory::GetPlayers: added %"PRIuS" players", vecCores.size());
}
示例3: GetPlayers
//.........这里部分代码省略.........
{
vecCores.push_back(EPC_EXTPLAYER);
vecCores.push_back(EPC_DVDPLAYER);
}
else
{
vecCores.push_back(EPC_DVDPLAYER);
vecCores.push_back(EPC_EXTPLAYER);
}
}
// only dvdplayer can handle these normally
if (url.GetFileType().Equals("sdp")
|| url.GetFileType().Equals("asf"))
{
vecCores.push_back(EPC_DVDPLAYER);
}
// Set video default player. Check whether it's video first (overrule audio check)
// Also push these players in case it is NOT audio either
if (item.IsVideo() || !item.IsAudio())
{
if ( g_advancedSettings.m_videoDefaultPlayer == "externalplayer" )
{
vecCores.push_back(EPC_EXTPLAYER);
vecCores.push_back(EPC_DVDPLAYER);
}
else
{
vecCores.push_back(EPC_DVDPLAYER);
vecCores.push_back(EPC_EXTPLAYER);
}
}
if( PAPlayer::HandlesType(url.GetFileType()) )
{
// We no longer force PAPlayer as our default audio player (used to be true):
bool bAdd = false;
if (url.GetProtocol().Equals("mms"))
{
bAdd = false;
}
else if (item.IsType(".wma"))
{
bAdd = true;
DVDPlayerCodec codec;
if (!codec.Init(item.m_strPath,2048))
bAdd = false;
codec.DeInit();
}
if (bAdd)
{
if( g_guiSettings.GetInt("audiooutput.mode") == AUDIO_ANALOG )
{
vecCores.push_back(EPC_PAPLAYER);
}
else if ((url.GetFileType().Equals("ac3") && g_audioConfig.GetAC3Enabled())
|| (url.GetFileType().Equals("dts") && g_audioConfig.GetDTSEnabled()))
{
vecCores.push_back(EPC_DVDPLAYER);
}
else
{
vecCores.push_back(EPC_PAPLAYER);
}
}
}
// Set audio default player
// Pushback all audio players in case we don't know the type
if( item.IsAudio())
{
if ( g_advancedSettings.m_audioDefaultPlayer == "dvdplayer" )
{
vecCores.push_back(EPC_DVDPLAYER);
vecCores.push_back(EPC_PAPLAYER);
vecCores.push_back(EPC_EXTPLAYER);
}
else if ( g_advancedSettings.m_audioDefaultPlayer == "externalplayer" )
{
vecCores.push_back(EPC_EXTPLAYER);
vecCores.push_back(EPC_PAPLAYER);
vecCores.push_back(EPC_DVDPLAYER);
}
else
{ // default to paplayer
vecCores.push_back(EPC_PAPLAYER);
vecCores.push_back(EPC_DVDPLAYER);
vecCores.push_back(EPC_EXTPLAYER);
}
}
// Always pushback DVDplayer as it can do both audio & video
// vecCores.push_back(EPC_DVDPLAYER);
/* make our list unique, preserving first added players */
unique(vecCores);
}
示例4: GetPlayers
void CPlayerCoreFactory::GetPlayers( const CFileItem& item, VECPLAYERCORES &vecCores)
{
CURL url(item.m_strPath);
CLog::Log(LOGDEBUG,"CPlayerCoreFactor::GetPlayers(%s)",item.m_strPath.c_str());
// Plex media server streams.
if (url.GetProtocol().Equals("plex", false))
vecCores.push_back(EPC_PMSPLAYER);
// Play audio files with iTunes DRM using QuickTime
if (url.GetFileType().Equals("m4p") || url.GetFileType().Equals("m4b"))
{
vecCores.push_back(EPC_QTPLAYER);
CLog::Log(LOGDEBUG,"CPlayerCoreFactor::GetPlayers(%s) - matched M4P file",item.m_strPath.c_str());
}
// ugly hack for ReplayTV. our filesystem is broken against real ReplayTV's (not the psuevdo DVArchive)
// it breaks down for small requests. As we can't allow truncated reads for all emulated dll file functions
// we are often forced to do small reads to fill up the full buffer size wich seems gives garbage back
if (url.GetProtocol().Equals("rtv"))
vecCores.push_back(EPC_MPLAYER); // vecCores.push_back(EPC_DVDPLAYER);
if (url.GetProtocol().Equals("hdhomerun")
|| url.GetProtocol().Equals("myth")
|| url.GetProtocol().Equals("cmyth")
|| url.GetProtocol().Equals("rtmp"))
vecCores.push_back(EPC_DVDPLAYER);
if (url.GetProtocol().Equals("lastfm") ||
url.GetProtocol().Equals("shout"))
{
vecCores.push_back(EPC_PAPLAYER);
}
if (url.GetProtocol().Equals("mms"))
{
vecCores.push_back(EPC_DVDPLAYER);
}
// dvdplayer can play standard rtsp streams
if (url.GetProtocol().Equals("rtsp")
&& !url.GetFileType().Equals("rm")
&& !url.GetFileType().Equals("ra"))
vecCores.push_back(EPC_DVDPLAYER);
// only dvdplayer can handle these normally
if (url.GetFileType().Equals("sdp") ||
url.GetFileType().Equals("asf"))
vecCores.push_back(EPC_DVDPLAYER);
if ( item.IsInternetStream() )
{
CStdString content = item.GetContentType();
if (content == "video/x-flv"
|| content == "video/flv")
vecCores.push_back(EPC_DVDPLAYER);
else if (content == "audio/aacp")
vecCores.push_back(EPC_DVDPLAYER);
else if (content == "application/sdp")
vecCores.push_back(EPC_DVDPLAYER);
else if (content == "application/octet-stream")
{
//unknown contenttype, send mp2 to pap
if( url.GetFileType() == "mp2")
vecCores.push_back(EPC_PAPLAYER);
}
}
if (((item.IsDVD()) || item.IsDVDFile() || item.IsDVDImage()))
{
vecCores.push_back(EPC_DVDPLAYER);
}
if( PAPlayer::HandlesType(url.GetFileType()) )
{
bool bAdd = true;
if (url.GetProtocol().Equals("mms"))
{
bAdd = false;
}
else if (item.IsType(".wma"))
{
DVDPlayerCodec codec;
if (!codec.Init(item.m_strPath,2048))
bAdd = false;
codec.DeInit();
}
if (bAdd)
{
if(!g_audioConfig.UseDigitalOutput())
{
vecCores.push_back(EPC_PAPLAYER);
}
//else if( ( url.GetFileType().Equals("ac3") && g_audioConfig.GetAC3Enabled() )
// || ( url.GetFileType().Equals("dts") && g_audioConfig.GetDTSEnabled() ) )
//{
// vecCores.push_back(EPC_DVDPLAYER);
//.........这里部分代码省略.........