<?xml version="1.0" encoding="UTF-8"?>
<playercorefactory>
  <players>
    <!-- These are compiled-in as re-ordering them would break scripts
    The following aliases may also be used:
      audiodefaultplayer, videodefaultplayer, videodefaultVideoPlayer
    <player name="VideoPlayer" audio="true" video="true" />
    <player name="VideoPlayer" /> placeholder for MPlayer
    <player name="PAPlayer" audio="true" />
    -->
    <player name="E2Player" type="Enigma2Player" audio="true" video="true">
      <filename>kodiext</filename>
      <args>-U "{1}" -S "{3}" -P "$PPID"</args>
      <filenamemeta>/tmp/kodiextin.json</filenamemeta>
      <hidexbmc>true</hidexbmc>
      <hideconsole>true</hideconsole>
      <warpcursor>none</warpcursor>
    </player>
  </players>

  <rules action="prepend" name="system rules">
    <rule name="mms/udp" protocols="mms|mmsh|udp" player="VideoPlayer" />
    <rule name="lastfm/shout" protocols="lastfm|shout" player="PAPlayer" />
    <rule name="rtmp" protocols="rtmp" player="videodefaultplayer" />

    <!-- VideoPlayer can play standard rtsp streams -->
    <rule name="rtsp" protocols="rtsp" filetypes="!(rm|ra)"  player="PAPlayer" />

    <!-- Internet streams -->
    <rule name="streams" internetstream="true">
      <rule name="aacp/sdp" mimetypes="audio/aacp|application/sdp" player="VideoPlayer" />
      <rule name="mp2" mimetypes="application/octet-stream" filetypes="mp2" player="PAPlayer" />
      <rule name="widevine1" filetypes="mpd" player="VideoPlayer" />
      <!-- <rule name="netflix" filename="*manifest*"  player="VideoPlayer" /> -->
    </rule>

    <!-- DVDs -->
    <rule name="dvd" dvd="true" player="VideoPlayer" />
    <rule name="discimage" discimage="true" game="false" player="VideoPlayer" />

    <!-- Only VideoPlayer can handle these normally -->
    <rule name="sdp/asf" filetypes="sdp|asf" player="VideoPlayer" />

    <!-- Pass these to VideoPlayer as we do not know if they are audio or video -->
    <rule name="nsv" filetypes="nsv" player="VideoPlayer" />
    <rule name="mkv" filetypes="mkv" player="GstPlayer" />
    <rule name="avi" filetypes="avi" player="GstPlayer" />   
    <rule name="mp4" filetypes="mp4" player="GstPlayer" />  
    
    <!-- pvr radio channels should be played by VideoPlayer because they need buffering -->
    <rule name="radio" filetypes="pvr" filename=".*/radio/.*" player="VideoPlayer" />
  </rules>
</playercorefactory>
