[Kodi17 @ W7] External player stopped working
#1
Question 
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:
https://pastebin.com/2Yruq62x

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::stringstrCoreName) 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 0m_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
Reply
#2
I'm too tired to read all that stuff.... but this did stick out under rules

You have.

player="MPC-HC" />

I have

layer="mpc-hc.exe"/>
Reply
#3
Thank you for your reply PatK.

Well, I assumed the player attribute of the rule entity has to reference the player entity by the name attribute (key).
Unfortunately, changing the player attribute of the rule to the executable name as suggested does not solve the issue.

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.exe" />
 </
rules>
</
playercorefactory

Code:
[...]
14:54:27.326 T:4960  NOTICE: Loading player core factory settings from special://profile/playercorefactory.xml.
14:54:27.326 T:4960 WARNING: CPlayerCoreFactory::GetPlayer(MPC-HC): no such player: MPC-HC
14:54:27.326 T:4960   DEBUG: CPlayerCoreConfig::<ctor>: created player MPC-HC
14:54:27.326 T:4960   DEBUG: CPlayerSelectionRule::Initialize: creating rule: un-named
14:54:27.326 T:4960   DEBUG: CPlayerSelectionRule::Initialize: creating rule: all
14:54:27.326 T:4960  NOTICE: Loaded playercorefactory configuration
[...]

Based on the log output, I believe the rule is OK. It's rather the player definition that has some kind of an issue...
Reply
#4
This works for me, only use it for some h265 videos, wondering if case is sensitive.

Code:
playercorefactory>
<players>
   <player name="mpc-hc64" type="ExternalPlayer" audio="false" video="true">
     <filename>C:\Program Files (x86)\MPC-HC\mpc-hc.exe</filename>
     <args>"{1}" /fullscreen /close</args>
     <hidexbmc>false</hidexbmc>
     <hideconsole>false</hideconsole>
     <warpcursor>none</warpcursor>
     <playcountminimumtime>1140</playcountminimumtime>
   </player>
</players>
<rules action="prepend">
     <rule videoresolution="1080" filetypes="mkv" videocodec="hevc" player="mpc-hc.exe"/>
</rules>
</playercorefactory>
Reply
#5
Thanks for posting your playercorefactory.xml as a reference.

It's not working for me, tho. Same result :(

Code:
21:26:36.408 T:1012  NOTICE: Loading player core factory settings from special://xbmc/system/playercorefactory.xml.
21:26:36.408 T:1012  NOTICE: Loaded playercorefactory configuration
21:26:36.408 T:1012  NOTICE: Loading player core factory settings from special://profile/playercorefactory.xml.
21:26:36.408 T:1012 WARNING: CPlayerCoreFactory::GetPlayer(mpc-hc64): no such player: mpc-hc64
21:26:36.408 T:1012  NOTICE: Loaded playercorefactory configuration

So if the playercorefactory is not the problem here, then what else could it be?!
Reply
#6
Here's a great forum http://forum.kodi.tv/showthread.php?tid=209596 they go through the set-up step by step, perhaps some reference there? Of course the wiki External players (wiki)
Reply
#7
Well, it seems that I can't get MPC-HC working again. As a last resort I did a full reinstall, which included the deletion of my user profile, but still the same issue: no such player.

For now I gave up and switched over to the DSPlayer. It's not as stable as my previous MPC-HC/madVR setup, but it will have to do...
Reply
#8
I have been having the same issue since upgrading from 16.1 to 17.3. The same PlayerCoreFactory.xml file that works on 16.1, does not work on 17.3

<playercorefactory>
  <players>
    <player name="PowerDVD" type="ExternalPlayer">
     <islauncher>true</islauncher>
     <filename>c:\temp\externalplayer.bat</filename>
     <forceontop>true</forceontop>
     <warpcursor>none</warpcursor>
<hideconsole>true</hideconsole>
    </player>
  </players>
  <rules action="prepend">
      <rule filetypes="bdmv" filename="*.bdmv" player="PowerDVD" />
<rule filetypes="ifo" filename="*.ifo" player="PowerDVD" />
  </rules>
</playercorefactory>

I have searched off and on for months to see if anyone has resolved the issue. I have found it doesn't matter what I use as a player name, it reports no such player. I've not upgraded my main machine as this continues to plague me. Has anyone managed to solve this?
Reply
#9
Though not shown here, I have tried the audio and video attributes to no avail.
Reply
#10
Anything in here that might help?

https://forum.kodi.tv/showthread.php?tid=259188
My Signature
Links to : Official:Forum rules (wiki) | Official:Forum rules/Banned add-ons (wiki) | Debug Log (wiki)
Links to : HOW-TO:Create Music Library (wiki) | HOW-TO:Create_Video_Library (wiki)  ||  Artwork (wiki) | Basic controls (wiki) | Import-export library (wiki) | Movie sets (wiki) | Movie universe (wiki) | NFO files (wiki) | Quick start guide (wiki)
Reply
#11
Not that it's going to comfort anyone.... mpc-be64? Does the player even show up in the context menu under 'play with', important to the path, could the space between "Program Files (86)" be an issue?

Posted by bestboy (perhaps a full [not snippet] debug log, posted to a pastebin might have a clue)

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

Posted by PatK (works in all Kodi's to date including Leia.)

21:55:50.761 T:9096 WARNING: CPlayerCoreFactory::GetPlayer(mpc-be64): no such player: mpc-be64
21:55:50.761 T:9096 DEBUG: CPlayerCoreConfig::<ctor>: created player mpc-be64
21:55:50.761 T:9096 DEBUG: CPlayerSelectionRule::Initialize: creating rule: un-named
21:55:50.761 T:9096 DEBUG: Previous line repeats 1 times.
21:55:50.761 T:9096 NOTICE: Loaded playercorefactory configuration
Reply
#12
Fwiw, the log will always show 'no such player' even though the player(s) do indeed exist, are called, and perform as intended. Also, they do appear in the 'Play using' menu and can be manually called from there if the default desires to be changed.

There are various working examples of playercorefactory.xml's with and without additional .bats to enhance playback in the guide in my signature including MPC-BE with madVR. Other players can easily be added, subtracted, or replaced. The latest combo I use is on page 14 of the guide, problem free and dependable. It covers the entire gamut of every file playback I know of. Why logs have always shown 'no such player' is beyond me but don't use it as a diagnosis why other playercorefactory.xml's don't work properly.

@Twerthi. Your script appears to point to a .bat in a C: temp folder. I'd bet dimes to dollars that is your problem and it coincidently changed along with your upgrade or no longer is directed proper from the playercorefactory.
HOW TO - Kodi 2D - 3D - UHD (4k) HDR Guide Internal & External Players iso menus
DIY HOME THEATER WIND EFFECT

W11 Pro 24H2 MPC-BE\HC madVR KODI 22 GTX960-4GB/RGB 4:4:4/Desktop 60Hz 8bit Video Matched Refresh rates 23,24,50,60Hz 8/10/12bit/Samsung 82" Q90R Denon S720W
Reply
#13
@brazen1 This turned out to be PEBKAC, I had the Blu ray menu portion showing the simplified menu which caused Kodi to pass in the mpls file instead of the bmdv. My external player settings were not set up to take in the mpls so the internal player would kick in. Thank you for responding. Also, thank you for providing that guide as well, very useful.
Reply

Logout Mark Read Team Forum Stats Members Help
[Kodi17 @ W7] External player stopped working1