I have been using MPC-HC as an external player with Kodi for some time. But for some reason it stopped working.
In the logfile it says “no such player”.
Code:
20:40:58.285 T:3324 NOTICE: special://profile/ is mapped to: special://masterprofile/
20:40:58.285 T:3324 NOTICE: -----------------------------------------------------------------------
20:40:58.285 T:3324 NOTICE: Starting Kodi (17.0 Git:20170201-a10c504). Platform: Windows NT x86 32-bit
20:40:58.285 T:3324 NOTICE: Using Release Kodi x32 build
20:40:58.285 T:3324 NOTICE: Kodi compiled Feb 1 2017 by MSVC 190024210 for Windows NT x86 32-bit version 6.3 (0x06030000)
20:40:58.285 T:3324 NOTICE: Running on ASUS All Series with Windows 7 SP1, kernel: Windows NT x86 64-bit version 6.1
20:40:58.285 T:3324 NOTICE: FFmpeg version/source: ffmpeg-3.1-kodi
20:40:58.285 T:3324 NOTICE: Host CPU: Unknown, 8 cores available
20:40:58.285 T:3324 NOTICE: Desktop Resolution: 1920x1200 32Bit at 59Hz
20:40:58.285 T:3324 NOTICE: Running with administrator rights
20:40:58.285 T:3324 NOTICE: Aero is enabled
20:40:58.285 T:3324 NOTICE: special://xbmc/ is mapped to: C:\Program Files (x86)\Kodi
20:40:58.285 T:3324 NOTICE: special://xbmcbin/ is mapped to: C:\Program Files (x86)\Kodi
20:40:58.285 T:3324 NOTICE: special://xbmcbinaddons/ is mapped to: C:\Program Files (x86)\Kodi/addons
20:40:58.285 T:3324 NOTICE: special://masterprofile/ is mapped to: C:\Users\%USERNAME%\AppData\Roaming\Kodi\userdata
20:40:58.285 T:3324 NOTICE: special://home/ is mapped to: C:\Users\%USERNAME%\AppData\Roaming\Kodi\
20:40:58.285 T:3324 NOTICE: special://temp/ is mapped to: C:\Users\%USERNAME%\AppData\Roaming\Kodi\cache
20:40:58.285 T:3324 NOTICE: special://logpath/ is mapped to: C:\Users\%USERNAME%\AppData\Roaming\Kodi\
20:40:58.285 T:3324 NOTICE: The executable running is: C:\Program Files (x86)\Kodi\kodi.exe
20:40:58.287 T:3324 NOTICE: Local hostname: %HOSTNAME%
20:40:58.287 T:3324 NOTICE: Log File is located: C:\Users\%USERNAME%\AppData\Roaming\Kodi\/kodi.log
20:40:58.287 T:3324 NOTICE: -----------------------------------------------------------------------
20:40:58.289 T:3324 NOTICE: load settings...
20:40:58.294 T:3324 WARNING: CSettingString: unknown options filler "timezonecountries" of "locale.timezonecountry"
20:40:58.294 T:3324 WARNING: CSettingString: unknown options filler "timezones" of "locale.timezone"
20:40:58.298 T:3324 NOTICE: No settings file to load (special://xbmc/system/advancedsettings.xml)
20:40:58.298 T:3324 NOTICE: No settings file to load (special://masterprofile/advancedsettings.xml)
20:40:58.298 T:3324 NOTICE: Default Video Player: VideoPlayer
20:40:58.298 T:3324 NOTICE: Default Audio Player: paplayer
20:40:58.298 T:3324 NOTICE: Enabled debug logging due to GUI setting (2)
20:40:58.298 T:3324 NOTICE: Log level changed to "LOG_LEVEL_DEBUG_FREEMEM"
20:40:58.298 T:3324 NOTICE: CMediaSourceSettings: loading media sources from special://masterprofile/sources.xml
20:40:58.299 T:3324 NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
20:40:58.299 T:3324 DEBUG: CPlayerCoreConfig::<ctor>: created player VideoPlayer
20:40:58.299 T:3324 DEBUG: CPlayerCoreConfig::<ctor>: created player PAPlayer
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: system rules
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: mms/udp
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: lastfm/shout
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: rtmp
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: rtsp
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: streams
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: aacp/sdp
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: mp2
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: dvd
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: dvdimage
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: sdp/asf
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: nsv
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: radio
20:40:58.299 T:3324 NOTICE: Loaded playercorefactory configuration
20:40:58.299 T:3324 NOTICE: Loading player core factory settings from special://profile/playercorefactory.xml.
20:40:58.299 T:3324 WARNING: CPlayerCoreFactory::GetPlayer(MPC-HC): no such player: MPC-HC
20:40:58.299 T:3324 DEBUG: CPlayerCoreConfig::<ctor>: created player MPC-HC
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: un-named
20:40:58.299 T:3324 DEBUG: CPlayerSelectionRule::Initialize: creating rule: all
20:40:58.299 T:3324 NOTICE: Loaded playercorefactory configuration
Taking a quick look at the code, it seems that either m_vecPlayerConfigs is empty or the check StringUtils::EqualsNoCase(m_vecPlayerConfigs[i]->GetName(), strRealCoreName) does not match:
PHP Code:
int CPlayerCoreFactory::GetPlayerIndex(const std::string& strCoreName) const
{
CSingleLock lock(m_section);
if (!strCoreName.empty())
{
// Dereference "*default*player" aliases
std::string strRealCoreName;
if (StringUtils::EqualsNoCase(strCoreName, "audiodefaultplayer"))
strRealCoreName = g_advancedSettings.m_audioDefaultPlayer;
else if (StringUtils::EqualsNoCase(strCoreName, "videodefaultplayer"))
strRealCoreName = g_advancedSettings.m_videoDefaultPlayer;
else
strRealCoreName = strCoreName;
for(
size_t i = 0; i < m_vecPlayerConfigs.size(); i++)
{
if (StringUtils::EqualsNoCase(m_vecPlayerConfigs[i]->GetName(), strRealCoreName))
return i;
}
CLog::Log(LOGWARNING, "CPlayerCoreFactory::GetPlayer(%s): no such player: %s", strCoreName.c_str(), strRealCoreName.c_str());
}
return -1;
}
My playercorefactory.xml @ C:\Users\%USERNAME%\AppData\Roaming\Kodi\userdata\ is kinda simple
PHP Code:
<playercorefactory>
<players>
<player name="MPC-HC" type="ExternalPlayer" audio="false" video="true">
<filename>C:\Program Files (x86)\MPC-HC\mpc-hc.exe</filename>
<args>"{1}" /fullscreen /close /monitor 2</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
<
rules action="prepend">
<rule name="all" filetypes="mkv|avi|mp4|m4v" player="MPC-HC" />
</rules>
</playercorefactory>
Any help to get my MPC with madVR back is greatly appreciated.
Edit: replaced excerpt from normal log with debug log