本文整理汇总了C++中CCdInfo::IsISOUDF方法的典型用法代码示例。如果您正苦于以下问题:C++ CCdInfo::IsISOUDF方法的具体用法?C++ CCdInfo::IsISOUDF怎么用?C++ CCdInfo::IsISOUDF使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCdInfo
的用法示例。
在下文中一共展示了CCdInfo::IsISOUDF方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetDiskUniqueId
CStdString CMediaManager::GetDiskUniqueId(const CStdString& devicePath)
{
CStdString strDevice = devicePath;
if (strDevice.IsEmpty()) // if no value passed, use the current default disc path.
strDevice = GetDiscPath(); // in case of non-Windows we must obtain the disc path
#ifdef TARGET_WINDOWS
if (!m_bhasoptical)
return "";
strDevice = TranslateDevicePath(strDevice);
URIUtils::AddSlashAtEnd(strDevice);
#endif
CStdString strDrive = g_mediaManager.TranslateDevicePath(strDevice);
#ifndef TARGET_WINDOWS
{
CSingleLock waitLock(m_muAutoSource);
CCdInfo* pInfo = g_mediaManager.GetCdInfo();
if ( pInfo )
{
if (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1))
strDrive = "iso9660://";
else
strDrive = "D:\\";
}
else
{
CLog::Log(LOGERROR, "GetDiskUniqueId: Failed getting CD info");
return "";
}
}
#endif
CStdString pathVideoTS = URIUtils::AddFileToFolder(strDrive, "VIDEO_TS");
if(! CDirectory::Exists(pathVideoTS) )
return ""; // return empty
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Trying to retrieve ID for path %s", pathVideoTS.c_str());
uint32_t dvdcrc = 0;
CStdString strID;
if (HashDVD(pathVideoTS, dvdcrc))
{
strID.Format("removable://%s_%08x", GetDiskLabel(devicePath), dvdcrc);
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Got ID %s for DVD disk", strID.c_str());
}
return strID;
}
示例2: GetDiskUniqueId
std::string CMediaManager::GetDiskUniqueId(const std::string& devicePath)
{
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(devicePath);
if (pInfo == NULL)
return "";
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = devicePath;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
{
mediaPath = g_mediaManager.TranslateDevicePath("");
URIUtils::AddSlashAtEnd(mediaPath);
}
#endif
// Try finding VIDEO_TS/VIDEO_TS.IFO - this indicates a DVD disc is inserted
std::string pathVideoTS = URIUtils::AddFileToFolder(mediaPath, "VIDEO_TS");
if(!CFile::Exists(URIUtils::AddFileToFolder(pathVideoTS, "VIDEO_TS.IFO")))
return ""; // return empty
// correct the filename if needed
if (StringUtils::StartsWith(pathVideoTS, "dvd://") ||
StringUtils::StartsWith(pathVideoTS, "iso9660://"))
pathVideoTS = g_mediaManager.TranslateDevicePath("");
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Trying to retrieve ID for path %s", pathVideoTS.c_str());
CDVDInputStreamNavigator dvdNavigator(NULL);
dvdNavigator.Open(pathVideoTS.c_str(), "");
std::string labelString;
dvdNavigator.GetDVDTitleString(labelString);
std::string serialString;
dvdNavigator.GetDVDSerialString(serialString);
std::string strID = StringUtils::Format("removable://%s_%s", labelString.c_str(), serialString.c_str());
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Got ID %s for DVD disk", strID.c_str());
return strID;
}
示例3: ExecuteAutorun
void CAutorun::ExecuteAutorun( bool bypassSettings, bool ignoreplaying )
{
if ( (!ignoreplaying && (g_application.IsPlayingAudio() || g_application.IsPlayingVideo() || m_gWindowManager.HasModalDialog()) || m_gWindowManager.GetActiveWindow() == WINDOW_LOGIN_SCREEN))
return ;
CCdInfo* pInfo = CDetectDVDMedia::GetCdInfo();
if ( pInfo == NULL )
return ;
g_application.ResetScreenSaverWindow(); // turn off the screensaver if it's active
if ( pInfo->IsAudio( 1 ) )
{
if( !bypassSettings && !g_guiSettings.GetBool("autorun.cdda") )
return;
if (!g_passwordManager.IsMasterLockUnlocked(false))
if (g_settings.m_vecProfiles[g_settings.m_iLastLoadedProfileIndex].musicLocked())
return ;
RunCdda();
}
else if (pInfo->IsUDFX( 1 ) || pInfo->IsUDF(1) || (pInfo->IsISOUDF(1) && g_advancedSettings.m_detectAsUdf))
{
RunXboxCd(bypassSettings);
}
else if (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1))
{
RunISOMedia(bypassSettings);
}
else
{
RunXboxCd(bypassSettings);
}
}
示例4: PlayDisc
bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool startFromBeginning)
{
if ( !bypassSettings && CSettings::Get().GetInt("audiocds.autoaction") != AUTOCD_PLAY && !CSettings::Get().GetBool("dvds.autorun"))
return false;
int nSize = g_playlistPlayer.GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(path);
if (pInfo == NULL)
return false;
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = path;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
mediaPath = g_mediaManager.TranslateDevicePath("");
#endif
const CURL pathToUrl(mediaPath);
auto_ptr<IDirectory> pDir ( CDirectoryFactory::Create( pathToUrl ));
bool bPlaying = RunDisc(pDir.get(), mediaPath, nAddedToPlaylist, true, bypassSettings, startFromBeginning);
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
return g_playlistPlayer.Play(nSize);
}
return bPlaying;
}
示例5: PlayDisc
bool CAutorun::PlayDisc(const std::string& path, bool bypassSettings, bool startFromBeginning)
{
if ( !bypassSettings && CServiceBroker::GetSettings().GetInt(CSettings::SETTING_AUDIOCDS_AUTOACTION) != AUTOCD_PLAY && !CServiceBroker::GetSettings().GetBool(CSettings::SETTING_DVDS_AUTORUN))
return false;
int nSize = CServiceBroker::GetPlaylistPlayer().GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(path);
if (pInfo == NULL)
return false;
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = path;
if (mediaPath.empty() || mediaPath == "iso9660://")
mediaPath = g_mediaManager.GetDiscPath();
const CURL pathToUrl(mediaPath);
std::unique_ptr<IDirectory> pDir ( CDirectoryFactory::Create( pathToUrl ));
bool bPlaying = RunDisc(pDir.get(), mediaPath, nAddedToPlaylist, true, bypassSettings, startFromBeginning);
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
CServiceBroker::GetPlaylistPlayer().SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
return CServiceBroker::GetPlaylistPlayer().Play(nSize, "");
}
return bPlaying;
}
示例6: GetDiskUniqueId
std::string CMediaManager::GetDiskUniqueId(const std::string& devicePath)
{
std::string mediaPath;
CCdInfo* pInfo = g_mediaManager.GetCdInfo(devicePath);
if (pInfo == NULL)
return "";
if (mediaPath.empty() && pInfo->IsAudio(1))
mediaPath = "cdda://local/";
if (mediaPath.empty() && (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1)))
mediaPath = "iso9660://";
if (mediaPath.empty())
mediaPath = devicePath;
#ifdef TARGET_WINDOWS
if (mediaPath.empty() || mediaPath == "iso9660://")
{
mediaPath = g_mediaManager.TranslateDevicePath(devicePath);
URIUtils::AddSlashAtEnd(mediaPath);
}
#endif
DiscInfo info = GetDiscInfo(mediaPath);
if (info.empty())
{
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Retrieving ID for path %s failed, ID is empty.", CURL::GetRedacted(mediaPath).c_str());
return "";
}
std::string strID = StringUtils::Format("removable://%s_%s", info.name.c_str(), info.serial.c_str());
CLog::Log(LOGDEBUG, "GetDiskUniqueId: Got ID %s for %s with path %s", strID.c_str(), info.type.c_str(), CURL::GetRedacted(mediaPath).c_str());
return strID;
}
示例7: RunMedia
void CAutorun::RunMedia(bool bypassSettings)
{
if ( !bypassSettings && !g_guiSettings.GetBool("autorun.dvd") && !g_guiSettings.GetBool("autorun.vcd") && !g_guiSettings.GetBool("autorun.video") && !g_guiSettings.GetBool("autorun.music") && !g_guiSettings.GetBool("autorun.pictures") )
return ;
int nSize = g_playlistPlayer.GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
#ifdef _WIN32
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( MEDIA_DETECT::CLibcdio::GetInstance()->GetDeviceFileName()+4 ));
bool bPlaying = RunDisc(pDir.get(), MEDIA_DETECT::CLibcdio::GetInstance()->GetDeviceFileName()+4, nAddedToPlaylist, true, bypassSettings);
#else
CCdInfo* pInfo = g_mediaManager.GetCdInfo();
if ( pInfo == NULL )
return ;
bool bPlaying;
if (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1))
{
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( "iso9660://" ));
bPlaying = RunDisc(pDir.get(), "iso9660://", nAddedToPlaylist, true, bypassSettings);
}
else
{
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( "D:\\" ) );
bPlaying = RunDisc(pDir.get(), "D:\\", nAddedToPlaylist, true, bypassSettings);
}
#endif
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
g_playlistPlayer.Play(nSize);
}
}
示例8: RunMedia
void CAutorun::RunMedia(bool bypassSettings, bool startFromBeginning)
{
if ( !bypassSettings && !g_guiSettings.GetBool("audiocds.autorun") && !g_guiSettings.GetBool("dvds.autorun"))
return ;
int nSize = g_playlistPlayer.GetPlaylist( PLAYLIST_MUSIC ).size();
int nAddedToPlaylist = 0;
#ifdef _WIN32
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( g_mediaManager.TranslateDevicePath("") ));
bool bPlaying = RunDisc(pDir.get(), g_mediaManager.TranslateDevicePath(""), nAddedToPlaylist, true, bypassSettings, startFromBeginning);
#else
CCdInfo* pInfo = g_mediaManager.GetCdInfo();
if ( pInfo == NULL )
return ;
bool bPlaying;
if (pInfo->IsISOUDF(1) || pInfo->IsISOHFS(1) || pInfo->IsIso9660(1) || pInfo->IsIso9660Interactive(1))
{
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( "iso9660://" ));
bPlaying = RunDisc(pDir.get(), "iso9660://", nAddedToPlaylist, true, bypassSettings, startFromBeginning);
}
else
{
auto_ptr<IDirectory> pDir ( CFactoryDirectory::Create( "D:\\" ) );
bPlaying = RunDisc(pDir.get(), "D:\\", nAddedToPlaylist, true, bypassSettings, startFromBeginning);
}
#endif
if ( !bPlaying && nAddedToPlaylist > 0 )
{
CGUIMessage msg( GUI_MSG_PLAYLIST_CHANGED, 0, 0 );
g_windowManager.SendMessage( msg );
g_playlistPlayer.SetCurrentPlaylist(PLAYLIST_MUSIC);
// Start playing the items we inserted
g_playlistPlayer.Play(nSize);
}
}