<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fritsch</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fritsch"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Fritsch"/>
	<updated>2026-06-17T07:05:30Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249891</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249891"/>
		<updated>2024-01-28T19:16:35Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Document: superviseaudiodelay for Android&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is used on Android only. While Android itself supports 32 bit Float format for at least Stereo since many years, certain Vendors don&#039;t properly implement it for Multi-Channel Audio. As those devices still open correctly, but then no signal reaches the output device, we disabled this for the time being and used 16 bit Integer only. With this setting you can enable 32 bit Output for multi-channel for kodi by setting allowmultichannelfloat to true. Default: false. This makes a lossless Input -&amp;gt; Output chain possible, as it can hold 24 bit Audio without any loss towards the internal Android Mixer, which is using Float precision anyways. --&amp;gt;&lt;br /&gt;
  &amp;lt;allowmultichannelfloat&amp;gt;false&amp;lt;/allowmultichannelfloat&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Android only. There are currently various broken devices with AMLogic BSP out there. They open a sink with a buffer of 170 ms, but then don&#039;t consume any idea for sometimes even more than 1000 ms of audio data. Then they silently drop the data under the hood and move on, resulting in kodi being totally out of sink. Reopening the devices (sometimes 2 times) fixes this. Sadly there are some semi-broken devices out there that do the same on startup, but afterwards work kind of fine with a higher delay. I cannot programmatically distinguish those two cases. For Zidoo and FireTV Cube 3rd Gen, you have to manually enable this advanced setting. --&amp;gt;&lt;br /&gt;
  &amp;lt;superviseaudiodelay&amp;gt;false&amp;lt;/superviseaudiodelay&amp;gt;&lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
    &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Avoid showing the edl commbreak notifications. These are displayed by default --&amp;gt;&lt;br /&gt;
  &amp;lt;displaycommbreaknotifications&amp;gt;false&amp;lt;/displaycommbreaknotifications&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* displaycommbreaknotifications&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20711&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE FOR MKV FILES:&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
MKV files that contain audio/subtitle tracks with language codes with subtags are not yet supported, but from &amp;lt;code&amp;gt;Kodi v21&amp;lt;/code&amp;gt; a workaround was introduced that allows Kodi to recognize language codes with subtags.&lt;br /&gt;
To use the workaround, you must open the MKV file with an editor and in the metadata of the desired audio/subtitle track, edit the track Name (or Title field) by adding the language code wrapped in curly brackets, as in following example:&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Original track name: Audio portuguese/brazil&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Modified track name: Audio portuguese/brazil {pt-BR}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Nexus/xbmc/settings/AdvancedSettings.cpp#L201-L211 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;([ _\\,\\.\\(\\)\\[\\]\\-](10bit|480p|480i|576p|576i|720p|720i|1080p|1080i|2160p|3d|aac|ac3|aka|atmos|avi|bd5|bdrip|bluray|brrip|cam|cd[1-9]|custom|dc|ddp|divx|divx5|dolbydigital|dolbyvision|dsr|dsrip|dts|dts-hdma|dts-hra|dts-x|dv|dvd|dvd5|dvd9|dvdivx|dvdrip|dvdscr|dvdscreener|extended|fragment|fs|h264|h265|hdr|hdr10|hevc|hddvd|hdrip|hdtv|hdtvrip|hrhd|hrhdtv|internal|limited|multisubs|nfofix|ntsc|ogg|ogm|pal|pdtv|proper|r3|r5|read.nfo|remastered|remux|repack|rerip|retail|screener|se|svcd|tc|telecine|telesync|truehd|ts|uhd|unrated|ws|x264|x265|xvid|xvidvd|xxx|web-dl|webrip|www.www|\\[.*\\])([ _\\,\\.\\(\\)\\[\\]\\-]|$)&amp;quot;);&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Updated in v20&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20549&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/master/xbmc/pictures/PictureScalingAlgorithm.cpp#L20-L32 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt;&lt;br /&gt;
  &amp;lt;nfsretries&amp;gt;0&amp;lt;/nfsretries&amp;gt;                 &amp;lt;!-- 0 to disable, default: -1 (unlimited) Added in v20--&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More information:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;nfsretries&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19513&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;chunksize&amp;gt;65536&amp;lt;/chunksize&amp;gt; &amp;lt;!-- Filesystem like e.g. NFS might not properly receive the server&#039;s max read chunk values and therefore end up with a very low&lt;br /&gt;
                                    default, causing issues during Cache filling and buffering. This values can be tuned between 256 Bytes and 1048576 Bytes.&lt;br /&gt;
                                    Depending on the filesystem this value is overwritten by e.g. FileCache implementation when another default is appropriate --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = detectasudf&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Set to true if you wish to detect joint ISO9660/UDF disks as UDF.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;detectasudf&amp;gt;false&amp;lt;/detectasudf&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = handlemounting&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&amp;lt;br/&amp;gt;Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;handlemounting&amp;gt;false&amp;lt;/handlemounting&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== automountopticalmedia ===&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = automountopticalmedia&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in linux for the udisks and udisks2 providers&amp;lt;br/&amp;gt;defines if kodi should automount optical discs&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20840&amp;lt;/ref&amp;gt;&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;automountopticalmedia&amp;gt;true&amp;lt;/automountopticalmedia&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;dxvaallowhqscaling&amp;gt;&#039;&#039;&#039; - Removed in v18 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/15466&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;enablehighqualityhwscalers&amp;gt;&#039;&#039;&#039; Removed in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21537&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249611</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249611"/>
		<updated>2024-01-21T12:08:19Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is used on Android only. While Android itself supports 32 bit Float format for at least Stereo since many years, certain Vendors don&#039;t properly implement it for Multi-Channel Audio. As those devices still open correctly, but then no signal reaches the output device, we disabled this for the time being and used 16 bit Integer only. With this setting you can enable 32 bit Output for multi-channel for kodi by setting allowmultichannelfloat to true. Default: false. This makes a lossless Input -&amp;gt; Output chain possible, as it can hold 24 bit Audio without any loss towards the internal Android Mixer, which is using Float precision anyways. --&amp;gt;&lt;br /&gt;
  &amp;lt;allowmultichannelfloat&amp;gt;false&amp;lt;/allowmultichannelfloat&amp;gt;&lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
    &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Avoid showing the edl commbreak notifications. These are displayed by default --&amp;gt;&lt;br /&gt;
  &amp;lt;displaycommbreaknotifications&amp;gt;false&amp;lt;/displaycommbreaknotifications&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* displaycommbreaknotifications&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20711&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE FOR MKV FILES:&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
MKV files that contain audio/subtitle tracks with language codes with subtags are not yet supported, but from &amp;lt;code&amp;gt;Kodi v21&amp;lt;/code&amp;gt; a workaround was introduced that allows Kodi to recognize language codes with subtags.&lt;br /&gt;
To use the workaround, you must open the MKV file with an editor and in the metadata of the desired audio/subtitle track, edit the track Name (or Title field) by adding the language code wrapped in curly brackets, as in following example:&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Original track name: Audio portuguese/brazil&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Modified track name: Audio portuguese/brazil {pt-BR}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Nexus/xbmc/settings/AdvancedSettings.cpp#L201-L211 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;([ _\\,\\.\\(\\)\\[\\]\\-](10bit|480p|480i|576p|576i|720p|720i|1080p|1080i|2160p|3d|aac|ac3|aka|atmos|avi|bd5|bdrip|bluray|brrip|cam|cd[1-9]|custom|dc|ddp|divx|divx5|dolbydigital|dolbyvision|dsr|dsrip|dts|dts-hdma|dts-hra|dts-x|dv|dvd|dvd5|dvd9|dvdivx|dvdrip|dvdscr|dvdscreener|extended|fragment|fs|h264|h265|hdr|hdr10|hevc|hddvd|hdrip|hdtv|hdtvrip|hrhd|hrhdtv|internal|limited|multisubs|nfofix|ntsc|ogg|ogm|pal|pdtv|proper|r3|r5|read.nfo|remastered|remux|repack|rerip|retail|screener|se|svcd|tc|telecine|telesync|truehd|ts|uhd|unrated|ws|x264|x265|xvid|xvidvd|xxx|web-dl|webrip|www.www|\\[.*\\])([ _\\,\\.\\(\\)\\[\\]\\-]|$)&amp;quot;);&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Updated in v20&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20549&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/master/xbmc/pictures/PictureScalingAlgorithm.cpp#L20-L32 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt;&lt;br /&gt;
  &amp;lt;nfsretries&amp;gt;0&amp;lt;/nfsretries&amp;gt;                 &amp;lt;!-- 0 to disable, default: -1 (unlimited) Added in v20--&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More information:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;nfsretries&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19513&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;chunksize&amp;gt;65536&amp;lt;/chunksize&amp;gt; &amp;lt;!-- Filesystem like e.g. NFS might not properly receive the server&#039;s max read chunk values and therefore end up with a very low&lt;br /&gt;
                                    default, causing issues during Cache filling and buffering. This values can be tuned between 256 Bytes and 1048576 Bytes.&lt;br /&gt;
                                    Depending on the filesystem this value is overwritten by e.g. FileCache implementation when another default is appropriate --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = detectasudf&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Set to true if you wish to detect joint ISO9660/UDF disks as UDF.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;detectasudf&amp;gt;false&amp;lt;/detectasudf&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = handlemounting&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&amp;lt;br/&amp;gt;Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;handlemounting&amp;gt;false&amp;lt;/handlemounting&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== automountopticalmedia ===&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = automountopticalmedia&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in linux for the udisks and udisks2 providers&amp;lt;br/&amp;gt;defines if kodi should automount optical discs&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20840&amp;lt;/ref&amp;gt;&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;automountopticalmedia&amp;gt;true&amp;lt;/automountopticalmedia&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;dxvaallowhqscaling&amp;gt;&#039;&#039;&#039; - Removed in v18 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/15466&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;enablehighqualityhwscalers&amp;gt;&#039;&#039;&#039; Removed in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21537&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249610</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=249610"/>
		<updated>2024-01-21T11:54:47Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add allowmultichannelfloat.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is used on Android only. While Android itself supports 32 bit Float format for at least Stereo since many years, certain Vendors don&#039;t properly implement it for Multi-Channel Audio. As those devices still open correctly, but then no signal reaches the output device, we disabled this for the time being and used 16 bit Integer only. With this setting you can enable 32 bit Output for multi-channel for kodi. This makes a lossless Input -&amp;gt; Output chain possible, as it can hold 24 bit Audio without any loss towards the internal Android Mixer, which is using Float precision anyways. --&amp;gt;&lt;br /&gt;
  &amp;lt;allowmultichannelfloat&amp;gt;true&amp;lt;/allowmultichannelfloat&amp;gt;&lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
    &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
    &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Avoid showing the edl commbreak notifications. These are displayed by default --&amp;gt;&lt;br /&gt;
  &amp;lt;displaycommbreaknotifications&amp;gt;false&amp;lt;/displaycommbreaknotifications&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Notes:&#039;&#039;&#039;&lt;br /&gt;
* displaycommbreaknotifications&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20711&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE FOR MKV FILES:&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
MKV files that contain audio/subtitle tracks with language codes with subtags are not yet supported, but from &amp;lt;code&amp;gt;Kodi v21&amp;lt;/code&amp;gt; a workaround was introduced that allows Kodi to recognize language codes with subtags.&lt;br /&gt;
To use the workaround, you must open the MKV file with an editor and in the metadata of the desired audio/subtitle track, edit the track Name (or Title field) by adding the language code wrapped in curly brackets, as in following example:&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Original track name: Audio portuguese/brazil&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&amp;lt;code&amp;gt;Modified track name: Audio portuguese/brazil {pt-BR}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Nexus/xbmc/settings/AdvancedSettings.cpp#L201-L211 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;([ _\\,\\.\\(\\)\\[\\]\\-](10bit|480p|480i|576p|576i|720p|720i|1080p|1080i|2160p|3d|aac|ac3|aka|atmos|avi|bd5|bdrip|bluray|brrip|cam|cd[1-9]|custom|dc|ddp|divx|divx5|dolbydigital|dolbyvision|dsr|dsrip|dts|dts-hdma|dts-hra|dts-x|dv|dvd|dvd5|dvd9|dvdivx|dvdrip|dvdscr|dvdscreener|extended|fragment|fs|h264|h265|hdr|hdr10|hevc|hddvd|hdrip|hdtv|hdtvrip|hrhd|hrhdtv|internal|limited|multisubs|nfofix|ntsc|ogg|ogm|pal|pdtv|proper|r3|r5|read.nfo|remastered|remux|repack|rerip|retail|screener|se|svcd|tc|telecine|telesync|truehd|ts|uhd|unrated|ws|x264|x265|xvid|xvidvd|xxx|web-dl|webrip|www.www|\\[.*\\])([ _\\,\\.\\(\\)\\[\\]\\-]|$)&amp;quot;);&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Updated in v20&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20549&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/master/xbmc/pictures/PictureScalingAlgorithm.cpp#L20-L32 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt;&lt;br /&gt;
  &amp;lt;nfsretries&amp;gt;0&amp;lt;/nfsretries&amp;gt;                 &amp;lt;!-- 0 to disable, default: -1 (unlimited) Added in v20--&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;More information:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;nfsretries&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19513&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;chunksize&amp;gt;65536&amp;lt;/chunksize&amp;gt; &amp;lt;!-- Filesystem like e.g. NFS might not properly receive the server&#039;s max read chunk values and therefore end up with a very low&lt;br /&gt;
                                    default, causing issues during Cache filling and buffering. This values can be tuned between 256 Bytes and 1048576 Bytes.&lt;br /&gt;
                                    Depending on the filesystem this value is overwritten by e.g. FileCache implementation when another default is appropriate --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = detectasudf&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Set to true if you wish to detect joint ISO9660/UDF disks as UDF.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;detectasudf&amp;gt;false&amp;lt;/detectasudf&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = handlemounting&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&amp;lt;br/&amp;gt;Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;handlemounting&amp;gt;false&amp;lt;/handlemounting&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== automountopticalmedia ===&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = automountopticalmedia&lt;br /&gt;
 | option type = binary&lt;br /&gt;
 | option values = true, false&lt;br /&gt;
 | default values = false&lt;br /&gt;
 | platform = Linux&lt;br /&gt;
 | XBMC version = &lt;br /&gt;
 | description = Only used in linux for the udisks and udisks2 providers&amp;lt;br/&amp;gt;defines if kodi should automount optical discs&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20840&amp;lt;/ref&amp;gt;&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;automountopticalmedia&amp;gt;true&amp;lt;/automountopticalmedia&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;dxvaallowhqscaling&amp;gt;&#039;&#039;&#039; - Removed in v18 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/15466&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;enablehighqualityhwscalers&amp;gt;&#039;&#039;&#039; Removed in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21537&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244252</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244252"/>
		<updated>2023-02-15T20:07:31Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Document chunksize&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% [Available from Kodi v20] --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;chunksize&amp;gt;65536&amp;lt;/chunksize&amp;gt; &amp;lt;!-- Filesystem like e.g. NFS might not properly receive the server&#039;s max read chunk values and therefore end up with a very low&lt;br /&gt;
                                    default, causing issues during Cache filling and buffering. This values can be tuned between 256 Bytes and 1048576 Bytes.&lt;br /&gt;
                                    Depending on the filesystem this value is overwritten by e.g. FileCache implementation when another default is appropriate --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;episodeextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Episode art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvshowextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvseasonextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;TV show art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;movieextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;moviesetextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Movie art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicvideoextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Music video art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Videos&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=244202</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=244202"/>
		<updated>2023-02-11T19:25:53Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Update AE_SINK to KODI_AE_SINK, we have v20 out of the door.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second  avoid resampling. Starting with version 11 of pulseaudio, it can reopen sinks with their native samplerate. Furthermore you need to take care, that your sink has a wide enough output format. To properly resample samperates that are not available with your sound card, e.g. 176000 or other exotic rates, we set pulseaudio to a default of 44100 khz, which is the default for every standard mp3. As alternate sample-rate we suggest 48000. That means that all non available samplerates are resampled with an exact integer division of src_rate / dst_rate.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 44100&lt;br /&gt;
alternate-sample-rate = 48000&lt;br /&gt;
;new with pulseaudio 11&lt;br /&gt;
avoid-resampling = true&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env KODI_AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244064</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=244064"/>
		<updated>2023-02-04T06:03:18Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: maxpassthroughoffsyncduration added&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 + full smb logging&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
  &amp;lt;!-- This setting is only relevant for Passthrough in the context of resyncing, e.g.; when there is no resampling possible. This value decides after which amount of discontinuity in milliseconds VideoPlayer will ErrorAdjust the Clock. On platforms like Android where the sink delay is just a non exact interpolation, a too small value might cause rare image stutter. The maximum value is 100 ms. A higher value makes no sense cause of A/V issues. This is a last-resort workaround as the root-cause cannot be mitigated 100% --&amp;gt;&lt;br /&gt;
  &amp;lt;maxpassthroughoffsyncduration&amp;gt;10&amp;lt;/maxpassthroughoffsyncduration&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
User-defined translation table for language codes used in subtitles and audio.&lt;br /&gt;
It can be used to add, extend or override Kodi&#039;s language codes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to add a new language code with subtag (e.g. pt-BR):&#039;&#039;&#039;&lt;br /&gt;
{{note|This support is available from Kodi v20}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese - Brazil&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to extend an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set the same &amp;quot;long&amp;quot; description of the existing language, for example we reuse the Portughese language for another language code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;pt-BR&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Portuguese&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this case when in Kodi settings you set the &amp;quot;Portuguese&amp;quot; language, when in playing according to availability the track &amp;quot;pt&amp;quot; or &amp;quot;pt-BR&amp;quot; will be chosen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How to override an existing language code:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This allow you to rename an existing language. Set to an existing language code your preferred &amp;quot;long&amp;quot; name description.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;WARNING: This can cause problems with add-ons, so do not override languages if you are not aware of the side effects.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;en-GB&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;English example&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of regular expressions. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a Regular Expression&lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of Regular Expressions. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of Regular Expressions.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of Regular Expressions. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains Regular Expression syntax to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of Regular Expressions&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;try10bitoutput&amp;gt;&#039;&#039;&#039; Removed in v20 and replaced with [[Settings/System/Display#Use_10_bit_for_SDR|Use 10 bit for SDR]] setting &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20014&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242108</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242108"/>
		<updated>2022-05-26T04:49:23Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Rename towards imagequalityjpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 2 + full smb logging (no on screen display)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
Translation table for subtitle and audio names.  Contains entries of the form&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of &amp;quot;&#039;&#039;[[RegEx_tutorial|regular expressions]]&#039;&#039;&amp;quot;. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a &#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains &amp;quot;&#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039;&amp;quot; syntax (commonly referred to as &amp;quot;&#039;&#039;[[RegEx_tutorial|RegEx]]&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;[[RegEx_tutorial|RegExp]]&#039;&#039;&amp;quot;) to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagequalityjpeg ===&lt;br /&gt;
This specifies the quality of the images when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3. (Added in v20 &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/21418&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagequalityjpeg&amp;gt;4&amp;lt;/imagequalityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242106</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=242106"/>
		<updated>2022-05-25T17:27:28Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add documentation for thumbqualityjpeg&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[Userdata|userdata folder]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
This file is used for advanced settings and options that do not have GUI controls inside of {{kodi}}. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# Kodi will only read the advancedsettings.xml file when it starts up. If you make changes while it is running then you must restart Kodi.&lt;br /&gt;
# For some Windows versions, Kodi has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\Kodi\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives its value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
List of available settings that are recognised in the advancedsettings.xml file &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/blob/master/xbmc/settings/AdvancedSettings.cpp&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Recommended: Use the table of contents or the search function in your browser to locate items.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
Sets the logging level used to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;loglevel hide=&amp;quot;attribute&amp;quot;&amp;gt;options&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Attribute&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;true&#039;&#039;&#039; &lt;br /&gt;
| Hides the &amp;quot;enable debugging&amp;quot; setting in the Settings page. (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;false&#039;&#039;&#039;&lt;br /&gt;
| Allows &amp;quot;enable debugging&amp;quot; setting to switch between &#039;&#039;&#039;0&#039;&#039;&#039; and &#039;&#039;&#039;2&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Option&lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | Action&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;-1&#039;&#039;&#039;&lt;br /&gt;
| No logging, suppresses all log output &lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| Normal logging, only logging errors (default)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| Debug logging with freemem, fps and cpu usage (no on screen)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;2&#039;&#039;&#039; &lt;br /&gt;
| Same as 1 (with on screen display)&lt;br /&gt;
|-&lt;br /&gt;
! &#039;&#039;&#039;3&#039;&#039;&#039; &lt;br /&gt;
| Same as 2 + full smb logging (no on screen display)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:100px;&amp;quot; | Example &lt;br /&gt;
! style=&amp;quot;width:500px;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! Example 1:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel&amp;gt;2&amp;lt;/loglevel&amp;gt;  &lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
! Example 2:&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;true&amp;quot;&amp;gt;2&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The setting is persistent through shutdown and restarts.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If debugging is enabled in the GUI, loglevel will be set to &#039;&#039;&#039;2&#039;&#039;&#039;. This will over-ride the &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting. You must disable the GUI Setting before adding the entry to &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
:&#039;&#039;{{see also|Log_file|label 1=Debug Log}}&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON-RPC_API]] API in their (third party) applications to debug during development the json output of Kodi can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by Kodi for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h.264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;video&amp;gt; section also includes the following child-tags, which have their own sections:&lt;br /&gt;
*[[#cleandatetime]]&lt;br /&gt;
*[[#cleanstrings]]&lt;br /&gt;
*[[#excludefromscan]]&lt;br /&gt;
*[[#excludefromlisting]]&lt;br /&gt;
*[[#excludetvshowsfromscan]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|Some tags that have a &amp;quot;third-level&amp;quot; and are grouped together are highlighted in color.}}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! Tag !! Description&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Parent tag that all other child tags need to be placed inside of. Do not use more than one &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; tag, but instead place all other child-tags within a single &#039;&#039;&#039;&amp;lt;code&amp;gt;&amp;lt;video&amp;gt;&amp;lt;/video&amp;gt;&amp;lt;/code&amp;gt;&#039;&#039;&#039; set.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for subtitles, in seconds.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;maxtempo&amp;gt;2.1&amp;lt;/maxtempo&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow further increase of playback speed over the default of 1.5&amp;lt;br&amp;gt;&lt;br /&gt;
maxtempo must be in the range of 1.5 to 2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
Be aware of the limitations of your platform / hardware as not all are capable of the increased maxtempo &amp;lt;ref&amp;gt;https://forum.kodi.tv/showthread.php?tid=10023&amp;amp;pid=2795069#pid2795069&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Delay range for audio/video sync, in seconds.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to use time based or percentage based seeking. {{small see also|Skip steps}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2 (2%) and -2 (2%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10 (10%) and -10 (10%) respectively. &#039;&#039;{{small|See also: [[Skip steps]] }}&#039;&#039;&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Whether to go to fullscreen or not when starting a movie. Defaults to true.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;VideoPlayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Set the default video player: VideoPlayer or an external player. See &#039;&#039;&#039;[[External players]]&#039;&#039;&#039; for more info.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be added to library.  It is possible to add multiple &amp;lt;code&amp;gt;&amp;lt;regexp&amp;gt;&amp;lt;/code&amp;gt; tags to match multiple patterns&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Regular expressions that if evaluated to true won&#039;t be displayed in files view.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Number of seconds to ignore at video start after which a resume point is created. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. &#039;&#039;{{small|See also: [[HOW-TO:Modify automatic watch and resume points]] }}&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems, this setting requires a vdpau feature set C GPU.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allow turning on the spline36 and lanczos3 shader (for GL builds).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Enables high quality video upscaling for Windows.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the deinterlacing options passed to libpostproc.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| When scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled in the video playback GUI settings.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. You can add overrides here to switch to a certain refreshrate based on video fps. It&#039;s possible to add as many overrides as you need.  Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match that override, it will try the next one until no overrides are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;fps&#039;&#039;&#039; - if the fps is between 23.966 and 23.986&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - switch to the first found refreshrate that is between 59.99 and 60.01&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; &lt;br /&gt;
* &#039;&#039;&#039;fpsmin&#039;&#039;&#039; / &#039;&#039;&#039;fpsmin&#039;&#039;&#039; - You can also specify the fps range yourself.&lt;br /&gt;
* &#039;&#039;&#039;refreshmin&#039;&#039;&#039; / &#039;&#039;&#039;refreshmax&#039;&#039;&#039; - Same for the refreshrate&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; If none of the overrides match, or none of the refreshrates match any of the fps matching overrides, it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match any refreshrate, it will try the next one until no fallbacks are left.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;refresh&#039;&#039;&#039; - Switch to the first found refreshrate that is between 49.99 and 50.01.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &#039;&#039;&#039;Example -&#039;&#039;&#039; You can also specify the range for the fallback yourself.&lt;br /&gt;
&lt;br /&gt;
If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, and no fallbacks are specified or no refreshrates match any fallbacks, it will automatically choose the best refreshrate (same as having no overrides and fallbacks).&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#CADCFB;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Advanced setting not present: let Kodi autodetect cards that support H.264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what. Set value to true if Kodi doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| FPS detection for video playback&lt;br /&gt;
* 0 = trust codec fps&lt;br /&gt;
* 1 = recalculate from video timestamps with uniform spacing&lt;br /&gt;
* 2 = recalculate from video timestamps always&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot;| Start of &#039;&#039;&#039;latency&#039;&#039;&#039; tags. Display latency (video lag). Latency is given in msecs.&lt;br /&gt;
|- &lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Global default display latency.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | Override latency for given display (not video) refresh rates. When Kodi is in windowed mode, override is ignored. Multiple overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
Syntax of an override entry:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;refresh&amp;gt;&lt;br /&gt;
  &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
  &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
  &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
&amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 125 msec latency at 23-24 Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &#039;&#039;&#039;Example:&#039;&#039;&#039; display has 50 msec latency at 50 (+/-0.01) Hz&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| style=&amp;quot;background:#F0E68C;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
  &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Filename triggers for 3D (stereoscopic) mode.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;assfixedworks&amp;gt;false&amp;lt;/assfixedworks&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Position behavior of ass subtitiles when setting &amp;quot;subtitle position on screen&amp;quot; set to &amp;quot;fixed&amp;quot;. True to show at the fixed position set in video calibration. False to show at the bottom of video (default). {{note|Removed in Kodi v20.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
  &amp;lt;subtitleverticalmargin&amp;gt;120&amp;lt;/subtitleverticalmargin&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| Allows to customise the vertical margin of text based subtitles, which will be applied to each type of subtitle position in subtitle settings. {{note|Available in Kodi v20 and above.}}&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom Kodi should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or videoplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekfowardbig&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Time to seek backward in seconds when doing a long seek back.  Defaults to 600 (10 minutes) and -600 (-10 minutes) respectively. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackward&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use Dynamic Range Compression (DRC) on AC3 streams. 1.0 is &amp;quot;full&amp;quot; compression, as defined by the audio track&#039;s metadata, which is recommended for &amp;quot;basic&amp;quot; sound systems such as the internal speakers on a TV. 0.0 is no compression at all, which is recommended for people with nice multi-speaker sound systems. -1.0 (default) defaults to whatever ffmpeg uses, which is currently the same as 1.0. This has no effect if passthrough is enabled for AC3. --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;-1.0&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|Edit_decision_list}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds). Possible values: from -60 to 60--&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds). Possible values: from -60 to 60 --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PVR &amp;amp; Live TV ==&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
Settings available for PVR, EPG and Live TV. Edit Decision List settings are located in the previous section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== pvrrecordings ====&lt;br /&gt;
In v19 and later, allows users to modify sort type and order of pvr recordings. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/18605&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Note- These settings are child tags to the &#039;&#039;&amp;lt;pvr&amp;gt;&#039;&#039; tag in the previous section.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
   &amp;lt;pvrrecordings&amp;gt;&lt;br /&gt;
      &amp;lt;sortmethod&amp;gt;2&amp;lt;/sortmethod&amp;gt;  &amp;lt;!-- 1=Name 2=Date 3=Size 4=File --&amp;gt;&lt;br /&gt;
      &amp;lt;sortorder&amp;gt;2&amp;lt;/sortorder&amp;gt;    &amp;lt;!-- 1=Ascending 2=Descending --&amp;gt;&lt;br /&gt;
   &amp;lt;/pvrrecordings&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- Check every X seconds, if EPG data need to be updated. This does not mean that every X seconds an EPG update is actually triggered, it&#039;s just the interval how often to check whether an update should be triggered. If this value is greater than GUI setting &#039;epg.epgupdate&#039; value, then EPG updates will done with the value specified for &#039;updatecheckinterval&#039;, effectively overriding the GUI setting&#039;s value. --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- If a TV channel has no EPG data, try to obtain data for that channel every X seconds. This overrides the GUI setting &#039;epg.epgupdate&#039; value, but only for channels without EPG data. If this value is less than &#039;updatecheckinterval&#039; value, then data update will be done with the interval specified by &#039;updatecheckinterval&#039;. Example 1: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 60 =&amp;gt; trigger an EPG update for every channel without EPG data every 5 minutes and trigger an EPG update for every channel with EPG data every 2 hours. Example 2: epg.epgupdate = 120 (minutes!), updatecheckinterval = 300, updateemptytagsinterval = 3600 =&amp;gt; trigger an EPG update for every channel without EPG data every 2 hours and trigger an EPG update for every channel with EPG data every 1 hour. --&amp;gt;&lt;br /&gt;
  &amp;lt;cleanupinterval&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;60&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted EPG update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3g2 .3gp .nsv .tp .ts .ty .strm .pls .rm .rmvb .mpd .m3u .m3u8 .ifo .mov .qt .divx .xvid&lt;br /&gt;
.bivx .vob .nrg .img .iso .udf .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .mpg .mpeg .mp4&lt;br /&gt;
.mkv .mk3d .avc .vp3 .svq3 .nuv .viv .dv .fli .flv .001 .wpl .xspf .zip .vdr .dvr-ms .xsp .mts&lt;br /&gt;
.m2t .m2ts .evo .ogv .sdp .avs .rec .url .pxml .vc1 .h264 .rcv .rss .mpls .mpl .webm .bdmv&lt;br /&gt;
.bdm .wtv .trp .f4v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{main|Media stubs}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
The default filename extension for Disc Stubs is:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Using the following tags, it is possible to &amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt; additional or &amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt; existing disc stub extensions to better suit your requirements.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.disk|.stub&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.disc&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;discstubextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
Translation table for subtitle and audio names.  Contains entries of the form&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is used by the [[Naming_video_files/Movies#Split_Video_Files|file stacking]] algorithm to combine multi-part files and contains a list of &amp;quot;&#039;&#039;[[RegEx_tutorial|regular expressions]]&#039;&#039;&amp;quot;. For stacking videos that are contained in folders, such as VIDEO_TS folders, see &#039;&#039;&#039;[[advancedsettings.xml#folderstacking|&amp;lt;folderstacking&amp;gt;]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As of v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck])[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== folderstacking ===&lt;br /&gt;
{{main|Naming_video_files/Movies}}&lt;br /&gt;
This is similar to &#039;&#039;&#039;[[advancedsettings.xml#moviestacking|&amp;lt;moviestacking&amp;gt;]]&#039;&#039;&#039;, but is used for videos that are contained in folders that use the folder names to stack, such as VIDEO_TS folders (DVD rips that are not in ISO format).&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;folderstacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/disk/disc&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;((cd|dvd|dis[ck])[0-9]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/folderstacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a &#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.*[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-9][0-9])([ _\,\.\(\)\[\]\-]|[^0-9]$)?&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L188 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](aka|ac3|dts|custom|dc|remastered|divx|divx5|dsr|dsrip|dutch|dvd|dvd5|dvd9|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|extended|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|3d|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|cd[1-9]|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Github_link|[https://github.com/xbmc/xbmc/blob/Matrix/xbmc/settings/AdvancedSettings.cpp#L232 Code in Github]}}&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;s([0-9]+)[ ._x-]*e([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)([^\\\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02, S01xE02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
:* A [https://forum.kodi.tv/showthread.php?tid=51614 forum thread] has a discussion of pre-made regex lists to match common names. These might improve Kodi&#039;s ability to match TV show names in some situations, at the risk of additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039; by default, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards and Kodi)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Specifying Default Season &#039;&#039;(XBMC v12.0 onwards and Kodi)&#039;&#039;&lt;br /&gt;
It is possible to set the default season for specific regular expressions by setting the &#039;defaultseason&#039; attribute.&lt;br /&gt;
: Works with both the simple method and advanced method&lt;br /&gt;
: If not used, the season will be set to &#039;1&#039;&lt;br /&gt;
: Useful for setting specials to season &#039;0&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp defaultseason=&amp;quot;0&amp;quot;&amp;gt;[/\._ \-]X()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;regexp defaultseason=&amp;quot;1&amp;quot;&amp;gt;[/\._ \-]E()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains &amp;quot;&#039;&#039;[[RegEx_tutorial|Regular Expression]]&#039;&#039;&amp;quot; syntax (commonly referred to as &amp;quot;&#039;&#039;[[RegEx_tutorial|RegEx]]&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;[[RegEx_tutorial|RegExp]]&#039;&#039;&amp;quot;) to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
{{Note|Kodi v20 users don&#039;t need set &amp;quot;importwatched&amp;quot; or &amp;quot;importresumepoint&amp;quot; to true anymore as that&#039;s the default then &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/20842&amp;lt;/ref&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;usefasthash&amp;gt;true&amp;lt;/usefasthash&amp;gt; &amp;lt;!-- defaults to true. Set to false in order to skip hashing based on the folders modification time. --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Extra artwork ====&lt;br /&gt;
&lt;br /&gt;
Applies to Kodi v18 only.&lt;br /&gt;
&lt;br /&gt;
Configuration to expand the artwork automatically added by Kodi to media items in the library, either from local files or online scrapers.&lt;br /&gt;
&lt;br /&gt;
The original basic artwork types are still hardcoded so they don&#039;t need to be configured here (and can&#039;t be removed). &amp;quot;poster&amp;quot; and &amp;quot;fanart&amp;quot; for movies, movie sets, TV shows, seasons, and music videos; &amp;quot;banner&amp;quot; for TV shows and seasons; and &amp;quot;thumb&amp;quot; for episodes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;!-- ... combine with &amp;quot;videolibrary&amp;quot; settings above --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV shows --&amp;gt;&lt;br /&gt;
    &amp;lt;tvshowextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;characterart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvshowextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show seasons --&amp;gt;&lt;br /&gt;
    &amp;lt;tvseasonextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/tvseasonextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for TV show episodes --&amp;gt;&lt;br /&gt;
    &amp;lt;episodeextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;fanart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/episodeextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movies --&amp;gt;&lt;br /&gt;
    &amp;lt;movieextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/movieextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for movie sets / collections --&amp;gt;&lt;br /&gt;
    &amp;lt;moviesetextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;keyart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/moviesetextraart&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Additional artwork to add for musicvideos --&amp;gt;&lt;br /&gt;
    &amp;lt;musicvideoextraart&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;banner&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;clearlogo&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;discart&amp;lt;/arttype&amp;gt;&lt;br /&gt;
      &amp;lt;arttype&amp;gt;landscape&amp;lt;/arttype&amp;gt;&lt;br /&gt;
    &amp;lt;/musicvideoextraart&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
{{note|Using &amp;lt;imageres&amp;gt;9999&amp;lt;/imageres&amp;gt; and &amp;lt;fanartres&amp;gt;9999&amp;lt;/fanartres&amp;gt; will allow caching artwork at original size.}}&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached artwork]] (other than fanart / 16:9 images) should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the maximum resolution that [[Artwork/Cache#Texture optimization| cached fanart]] should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== imagescalingalgorithm ===&lt;br /&gt;
Specify the image scaling algorithm for image resizing when [[Artwork/Cache#Texture optimization| caching artwork]] to the local texture cache.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imagescalingalgorithm&amp;gt;bicubic&amp;lt;/imagescalingalgorithm&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://github.com/xbmc/xbmc/blob/1a8753d5cd93890dc6a9f9d4b2ce8848066ea5d0/xbmc/pictures/PictureScalingAlgorithm.cpp#L32-L43 Available image scaling algorithms]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=text enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
fast_bilinear&lt;br /&gt;
bilinear&lt;br /&gt;
bicubic&lt;br /&gt;
experimental&lt;br /&gt;
nearest_neighbor&lt;br /&gt;
averaging_area&lt;br /&gt;
bicublin&lt;br /&gt;
gaussian&lt;br /&gt;
sinc&lt;br /&gt;
lanczos&lt;br /&gt;
bicubic_spline&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== thumbqualityjpeg ===&lt;br /&gt;
This specifies the quality of the thumbnails when stored in jpeg format. By default kodi uses a quality of 4 which is a good compromise between size and quality. If you want to reduce the thumbnail sizes (decreasing quality) choose a higher value up to 21. If high quality (large thumbnail size) is needed, chose a smaller value, e.g. 0,1,2 or 3.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;thumbqualityjpeg&amp;gt;4&amp;lt;/thumbqualityjpeg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
{{note|Sort tokens are case sensitive.}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the above example &amp;quot;the &amp;quot;, &amp;quot;the.&amp;quot; and &amp;quot;the_&amp;quot; will be ignored at the start of titles or names when sorting items, in both video and music libraries. A separator can also be specified, for example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
    &amp;lt;token separators=&amp;quot;&#039;&amp;quot;&amp;gt;L&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
In that case the value L&#039;, as in French movie name &#039;&#039;L&#039;argent&#039;&#039;, will be ignored and the item listed under &amp;quot;A&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E|musicdatabase/videodatabase|database tags music/video/tv/epg/adsp}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for music, video, TV, EPG, and ADSP databases.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of kodi&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as Kodi is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parent tags:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; - Highly experimental/unstable and no practical benefit for most users. &#039;&#039;&#039;Avoid using.&#039;&#039;&#039;&lt;br /&gt;
{{MySQL warning}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Child tags: &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;type&amp;gt;&lt;br /&gt;
: &#039;&#039;Required&#039;&#039; - Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;host&amp;gt;&lt;br /&gt;
:&#039;&#039;Required&#039;&#039; - &lt;br /&gt;
* sqlite3: defines the relative path to the database file (eg. /usr/local/kodi/databases).&lt;br /&gt;
* mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;port&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;name&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; -&lt;br /&gt;
:by default &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
* sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
* mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;user&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;pass&amp;gt;&lt;br /&gt;
: &#039;&#039;Required for MySQL&#039;&#039; -&lt;br /&gt;
* sqlite3: silently ignored&lt;br /&gt;
* mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;compression&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - Defaults to false. Set to &amp;quot;true&amp;quot; to enable MySQL compression protocol. Performance benefit is going to be largely dependent on the network bandwidth, latency between database and clients and on the size of the result sets. [https://github.com/xbmc/xbmc/pull/6484]&lt;br /&gt;
: {{Note|Slower clients (such as the RPi and others) won&#039;t benefit from it as the zlib de-compression overhead is higher than the actual compression savings}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;key&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;cert&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ca&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;capath&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;ciphers&amp;gt;&lt;br /&gt;
: &#039;&#039;Optional&#039;&#039; - SSL setting for MySQL [https://github.com/xbmc/xbmc/pull/2566]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;kodi_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;kodi&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;kodi&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note| &#039;&#039;The &#039;&#039;&#039;&amp;lt;videodatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;musicdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;tvdatabase&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;epgdatabase&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;adspdatabase&amp;gt;&#039;&#039;&#039; tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/kodi/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .rma .mpa .wav .wma .ogg .mp3 .mp2 .m3u .gdm .imf .m15 .sfx&lt;br /&gt;
.uni .ac3 .dts .cue .aif .aiff .wpl .xspf .ape .mac .mpc .mp+ .mpp .shn .zip .wv .dsp .xsp .xwav&lt;br /&gt;
.waa .wvs .wam .gcm .idsp .mpdsp .mss .spt .rsd .sap .cmc .cmr .dmc .mpt .mpd .rmt .tmc .tm8&lt;br /&gt;
.tm2 .oga .url .pxml .tta .rss .wtv .mka .tak .opus .dff .dsf .m4b .dtshd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is possible to add or remove extensions for Music, using the following XML tags. Useful if you keep, say, FLAC and mp3 versions of music in the same folder. The &amp;lt;remove&amp;gt; tag can be used to remove mp3 from being listed in the library, leaving only the higher quality FLAC being displayed.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;musicextensions&amp;gt;&lt;br /&gt;
   &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
   &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
 &amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;musicextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&amp;lt;section begin=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt;       &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;            &amp;lt;!-- default set to false to prevent Kodi from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt;     &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;              &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;     &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;              &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* See Note below--&amp;gt;&lt;br /&gt;
    &amp;lt;artistseparators&amp;gt;                              &amp;lt;!-- separator used for multiple artists. Note that spaces are used for some separators. See Note below--&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;;&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;:&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt;|&amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; feat. &amp;lt;/separator&amp;gt;&lt;br /&gt;
        &amp;lt;separator&amp;gt; ft. &amp;lt;/separator&amp;gt;&lt;br /&gt;
    &amp;lt;/artistseparators&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt;                        &amp;lt;!--0 results in using the current datetime when adding a song;&lt;br /&gt;
                                                        1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                                        2 results in using the newer datetime of the file&#039;s mtime and ctime   --&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- New for v19 and later releases --&amp;gt;&lt;br /&gt;
    &amp;lt;useisodates&amp;gt;false&amp;lt;/useisodates&amp;gt;                &amp;lt;!-- When &amp;quot;true&amp;quot; all dates displayed in the music library will be in ISO 8601 format (YYYY-MM-DD or part thereof).&lt;br /&gt;
                                                         Defaults to &amp;quot;false&amp;quot; (use localized dates) --&amp;gt;  &lt;br /&gt;
&amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{Note|Changing the &amp;lt;itemseparator&amp;gt; or &amp;lt;artistseparators&amp;gt; will only affect newly added items. A rescan won&#039;t change the existing ones. Remove the Source(s) or delete the Music DB and rebuild. This process should be made easier from v18 and up using &amp;lt;promptfulltagscan&amp;gt;}}&amp;lt;section end=&amp;quot;MusicLibrary&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .rss .webp .jp2 .apng&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of &#039;&#039;[[RegEx_tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== ftp ===&lt;br /&gt;
{{anchor|.3Cftp.3DE}}&lt;br /&gt;
Specific settings if a ftp server is in use as a source&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ftp&amp;gt;&lt;br /&gt;
  &amp;lt;remotethumbs&amp;gt;true&amp;lt;/remotethumbs&amp;gt; &amp;lt;!-- enable extraction of flag and thumb for ftp --&amp;gt;&lt;br /&gt;
&amp;lt;/ftp&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml line=&#039;line&#039;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;20&amp;lt;/curllowspeedtime&amp;gt;    &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;curlretries&amp;gt;2&amp;lt;/curlretries&amp;gt;               &amp;lt;!-- Amount of retries for certain failed libcurl operations (e.g. timeout) --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;    &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;    &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;disableipv6&amp;gt;false&amp;lt;/disableipv6&amp;gt;           &amp;lt;!-- Certain hardware/OS combinations have trouble with ipv6. Set &amp;quot;true&amp;quot; to disable --&amp;gt;&lt;br /&gt;
  &amp;lt;disablehttp2&amp;gt;false&amp;lt;/disablehttp2&amp;gt;         &amp;lt;!-- Added in v19- Allows disabling HTTP2 for broken Curl / HTTP2 servers --&amp;gt;&lt;br /&gt;
  &amp;lt;nfstimeout&amp;gt;30&amp;lt;/nfstimeout&amp;gt;                &amp;lt;!-- Added in v19- Timeout in seconds for NFS access, 0 = wait forever (previous behaviour) default is 5s  --&amp;gt;&lt;br /&gt;
  &amp;lt;catrustfile&amp;gt;filepath&amp;lt;/catrustfile&amp;gt;        &amp;lt;!-- Added in v19- Allows specifying a custom SSL CA trust store bundle. e.g. special://masterprofile/cacerts.pem --&amp;gt;&lt;br /&gt;
  &amp;lt;curlkeepaliveinterval&amp;gt;30&amp;lt;/curlkeepaliveinterval&amp;gt;     &amp;lt;!-- Added in v19- Enable TCP keepalive probes in curl --&amp;gt; &lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note|In Kodi v17, the three buffer settings are removed from the &amp;lt;code&amp;gt;&amp;lt;network&amp;gt;&amp;lt;/code&amp;gt; tag and now placed under the new &amp;lt;code&amp;gt;&amp;lt;cache&amp;gt;&amp;lt;/code&amp;gt; tag. See &#039;&#039;&#039;[[#cache]]&#039;&#039;&#039; for full details.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;curlkeepaliveinterval&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/19319&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cache ===&lt;br /&gt;
{{see also|HOW-TO:Modify_the_video_cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cache&amp;gt;&lt;br /&gt;
  &amp;lt;memorysize&amp;gt;0&amp;lt;/memorysize&amp;gt;   &amp;lt;!-- Number of bytes used for buffering streams in memory when set to 0 the cache will be written to disk instead of RAM --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;   &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
                                    0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) &lt;br /&gt;
                                    1) Buffer all filesystems (including local) (default since Kodi 19)&lt;br /&gt;
                                    2) Only buffer true internet filesystems (streams) (http, https, etc.)&lt;br /&gt;
                                    3) No buffer&lt;br /&gt;
                                    4) Buffer all network filesystems (incl. smb, nfs, etc.) --&amp;gt;&lt;br /&gt;
  &amp;lt;readfactor&amp;gt;4.0&amp;lt;/readfactor&amp;gt; &amp;lt;!-- This factor determines the max readrate in terms of readfactor * avg bitrate of a video file. &lt;br /&gt;
                                    This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 4.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/cache&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[Add-ons|add-on]] rollback feature. Increasing the size should increase the amount of past versions saved. Defaults to 200 MB.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== handlemounting ===&lt;br /&gt;
{{anchor|.3Chandlemounting.3E}}&lt;br /&gt;
Only used in Linux, it defines if Kodi should attempt to mount media drives (via udisks or udisks2).&lt;br /&gt;
&lt;br /&gt;
Default: False. If kodi is executed with the --standalone option (e.g. as done by kodi-standalone.sh) it by default will be True.&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
{{main|Path substitution}}&lt;br /&gt;
&lt;br /&gt;
{{divbox|red||&#039;&#039;&#039;Note:&#039;&#039;&#039; Path substition for &amp;quot;sources&amp;quot; and profiles is broken, and will &#039;&#039;&#039;NOT&#039;&#039;&#039; be fixed.}}&lt;br /&gt;
&lt;br /&gt;
Path substitutions are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for Kodi to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Input control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
This advanced settings has been removed. &lt;br /&gt;
Since v17, the [[Advancedsettings.xml#controllerdeadzone|&amp;amp;lt;controllerdeadzone&amp;amp;gt;]] advanced setting has been removed. Deadzones can now be configured by plugging in the controller and selecting it in Settings -&amp;gt; System settings -&amp;gt; Input -&amp;gt; Peripherals.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of Kodi, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. Kodi processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== seeksteps ===&lt;br /&gt;
{{Main|Skip steps}}&lt;br /&gt;
&lt;br /&gt;
This setting changes which increments are available in the settings GUI for additive seeking. Note that &amp;lt;code&amp;gt;&amp;lt;seeksteps&amp;gt;&amp;lt;/code&amp;gt; is not used to actually choose which seek steps are enabled.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Default:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;seeksteps&amp;gt;7, 15, 30, 60, 180, 300, 600, 900, 1800&amp;lt;/seeksteps&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{editor note|the defaults need to be updated for seeksteps.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== touchscreen ===&lt;br /&gt;
{{anchor|.3Ctouchscreen.3E}}&lt;br /&gt;
This setting allows you to move/align the origin of the touch screen with the origin of the display used. If touch input does not result in a correct movement of the mouse pointer, the behaviour can be corrected with an offset and a stretch/compress factor.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;touchscreen&amp;gt;&lt;br /&gt;
		&amp;lt;x_offset&amp;gt;0&amp;lt;/x_offset&amp;gt; &amp;lt;!-- set pixel x offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;y_offset&amp;gt;0&amp;lt;/y_offset&amp;gt; &amp;lt;!-- set pixel y offset to align it to the used display--&amp;gt;&lt;br /&gt;
		&amp;lt;x_stretch_factor&amp;gt;1.0&amp;lt;/x_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch x axis--&amp;gt;&lt;br /&gt;
		&amp;lt;y_stretch_factor&amp;gt;1.0&amp;lt;/y_stretch_factor&amp;gt; &amp;lt;!-- stretch/compress the touch y axis--&amp;gt;&lt;br /&gt;
    &amp;lt;/touchscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== scanirserver ===&lt;br /&gt;
Introduced in v18 and used in MS Windows setups only.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13896&amp;lt;/ref&amp;gt;&lt;br /&gt;
Used to disable the regular connection attempts to the IR Server Suite when there is no remote to connect to.&lt;br /&gt;
&lt;br /&gt;
The default setting is to allow connection attempts. To disable connection attempts change value to &#039;&#039;&#039;false&#039;&#039;&#039;.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;scanirserver&amp;gt;true&amp;lt;/scanirserver&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
{{note|This is a &amp;quot;hidden&amp;quot; guisettings.xml setting (defined by the mouse moving the window size), but it is mentioned here because it is a particularly useful override when used in advancedsettings.xml}}&lt;br /&gt;
This allows you to manually set the default size of Kodi&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&lt;br /&gt;
    &amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&lt;br /&gt;
    &amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&lt;br /&gt;
&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent Kodi from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;{{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3 is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== smartredraw ===&lt;br /&gt;
&lt;br /&gt;
{{note|This is an experimental feature and you might face issues using it. So please be aware of that.}}&lt;br /&gt;
&lt;br /&gt;
This new feature was introduced in Kodi 18 and if enabled, the GUI process call (and therefore the render call) is only done if anything has changed. The result will be a faster GUI and less load if Kodi plays a video&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;smartredraw&amp;gt;true&amp;lt;/smartredraw&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setups where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts Kodi in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command Kodi will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps Kodi always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There is also a fake fullscreen GUI option in Kodi&#039;s settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== minimizetotray ===&lt;br /&gt;
{{anchor|.3Cminimizetotray.3E}}&lt;br /&gt;
{{note|Available in Kodi v20 and above.}}&lt;br /&gt;
&lt;br /&gt;
Windows only. Minimizes Kodi to the system tray. Defaults to false.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=xml enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;minimizetotray&amp;gt;true&amp;lt;/minimizetotray&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Removed tags =&lt;br /&gt;
{{anchor|Recently removed tags}}&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; - replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; - renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[Action_IDs]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
* {{anchor|.3Ckaraoke.3E}}&#039;&#039;&#039;&amp;lt;karaoke&amp;gt;&#039;&#039;&#039; - In v16 all of the karaoke features in Kodi were removed.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useddsfanart&amp;gt;&#039;&#039;&#039; - removed in v17 Krypton.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; and &#039;&#039;&#039;&amp;lt;readbufferfactor&amp;gt;&#039;&#039;&#039; - In v17 &#039;&#039;&#039;&amp;lt;cachemembuffersize&amp;gt;&#039;&#039;&#039; is renamed to &#039;&#039;&#039;&amp;lt;memorysize&amp;gt;&#039;&#039;&#039; and &amp;lt;code&amp;gt;&amp;lt;readbufferfactor&amp;gt;&amp;lt;/code&amp;gt; is renamed to &amp;lt;code&amp;gt;&amp;lt;readfactor&amp;gt;&amp;lt;/code&amp;gt;. In addition, all three buffer related settings in &amp;lt;network&amp;gt; are moved out of &amp;lt;network&amp;gt; and into a new &amp;lt;cache&amp;gt; parent tag.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;minvideocachelevel&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;minaudiocachelevel&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;cacheindvdplayer&amp;gt;&#039;&#039;&#039; have been removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;useffmpegvda&amp;gt;&#039;&#039;&#039; - Tag was only used for development testing. Removed in v17.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;nofliptimeout&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;blackbarcolour&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;disableswmultithreading&amp;gt;&#039;&#039;&#039; - Removed in v17 (maybe?)&lt;br /&gt;
* {{anchor|.3Cmeasurerefreshrate.3E}}&#039;&#039;&#039;&amp;lt;measurerefreshrate&amp;gt;&#039;&#039;&#039; - Removed in v17 or v18?&lt;br /&gt;
* {{anchor|.3Cmyth.3E}}&#039;&#039;&#039;&amp;lt;myth&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* {{anchor|.3Ctuxbox.3E}}&#039;&#039;&#039;&amp;lt;tuxbox&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;backgroundupdate&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideemptyseries&amp;gt;&#039;&#039;&#039; - Replaced by a GUI option.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;mymovies&amp;gt;&#039;&#039;&#039; and child tag &#039;&#039;&#039;&amp;lt;categoriestogenres&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumssortbyartistthenyear&#039;&#039;&#039;&amp;gt; - Removed&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumformatright&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Cremoterepeat.3E}}&#039;&#039;&#039;&amp;lt;remoterepeat&amp;gt;&#039;&#039;&#039; - Removed&lt;br /&gt;
* {{anchor|.3Callowd3d9ex.3E}}&#039;&#039;&#039;&amp;lt;allowd3d9ex&amp;gt;&#039;&#039;&#039; and {{anchor|.3Cforced3d9ex.3E}}&#039;&#039;&#039;&amp;lt;forced3d9ex&amp;gt;&#039;&#039;&#039; - Removed sometime between v16 to v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;lingertime&amp;gt;&#039;&#039;&#039; - Replaced by a GUI setting in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;forcevaapienabled&amp;gt;&#039;&#039;&#039; - Removed in v18&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;promptfulltagscan&amp;gt;false&amp;lt;/promptfulltagscan&amp;gt;&#039;&#039;&#039; Removed in v18. Now automatically asked each time a scan is conducted.&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;controllerdeadzone&amp;gt;&#039;&#039;&#039; - Removed in v17&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;omxdecodestartwithvalidframe&amp;gt;&#039;&#039;&#039; - This tag is only in some Raspberry Pi specific distributions, such as OpenELEC. As of March 2015, this tag has not been merged into &amp;quot;vanilla&amp;quot; Kodi builds&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;musicthumbs&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Thumbnail image files&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;artistextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Artist art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;albumextraart&amp;gt;&#039;&#039;&#039; Replaced in v19 by the GUI setting &#039;&#039;&#039;Album art types whitelist&#039;&#039;&#039; found in Media -&amp;gt; Music&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;fanart&amp;gt;&#039;&#039;&#039; Removed in v19&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;assfixedworks&amp;gt;&#039;&#039;&#039; Removed in v20&lt;br /&gt;
&lt;br /&gt;
= guisettings.xml Setting Conversion =&lt;br /&gt;
It is possible to convert settings found in the &#039;&#039;&#039;[[Settings]]&#039;&#039;&#039; &#039;&#039;(guisettings.xml)&#039;&#039; pages of {{kodi}} into entries for the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
When a setting from the guisettings.xml is added to the advancedsettings.xml file, it will override the existing guisettings.xml values and the setting will be removed from the settings pages.&lt;br /&gt;
&lt;br /&gt;
Why would I need to do this?&lt;br /&gt;
* You set up multiple devices and then need to individually change settings and preferences on each device. Using this conversion method, you save those settings in the advancedsettings.xml file and simply add the file to each device&lt;br /&gt;
* You need to hide settings to prevent those settings from being modified&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To convert a guisetting to advancedsettings.xml follow these steps:&lt;br /&gt;
# In the {{kodi}} settings pages, adjust the setting(s) to your preference.&lt;br /&gt;
# Back out of the settings pages to the main menu, which forces {{kodi}} to save the adjusted settings to the guisettings.xml file&lt;br /&gt;
# Locate the guisettings.xml file in the [[Userdata]] folder and open it&lt;br /&gt;
# Locate the setting(s) to be converted. The list can be overwhelming so make use of the Search feature of whichever editor you are using&lt;br /&gt;
# Using the following setting as an example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;setting id=&amp;quot;videolibrary.showemptytvshows&amp;quot;&amp;gt;true&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
: Breaking down the string:&lt;br /&gt;
::&#039;&#039;&#039;videolibrary&#039;&#039;&#039;- parent tag&lt;br /&gt;
::&#039;&#039;&#039;showemptytvshows&#039;&#039;&#039;- child tag&lt;br /&gt;
::&#039;&#039;&#039;true&#039;&#039;&#039;- value&lt;br /&gt;
: The conversion is as follows and place this in the advancedsettings.xml file&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
          &amp;lt;showemptytvshows&amp;gt;true&amp;lt;/showemptytvshows&amp;gt;&lt;br /&gt;
     &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Some parent tags may already be in use in your advancedsettings.xml file. Do not duplicate them, but add the child tag beneath the existing parent tag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Settings]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=183181</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=183181"/>
		<updated>2019-10-01T13:00:14Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Audiophile Pulse User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second  avoid resampling. Starting with version 11 of pulseaudio, it can reopen sinks with their native samplerate. Furthermore you need to take care, that your sink has a wide enough output format. To properly resample samperates that are not available with your sound card, e.g. 176000 or other exotic rates, we set pulseaudio to a default of 44100 khz, which is the default for every standard mp3. As alternate sample-rate we suggest 48000. That means that all non available samplerates are resampled with an exact integer division of src_rate / dst_rate.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 44100&lt;br /&gt;
alternate-sample-rate = 48000&lt;br /&gt;
;new with pulseaudio 11&lt;br /&gt;
avoid-resampling = true&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt; (starting with v18 this option was renamed to &#039;&#039;&#039;KODI_AE_SINK=ALSA&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=183180</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=183180"/>
		<updated>2019-10-01T12:59:50Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Audiophile Pulse User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second  avoid resampling. Starting with version 11 of pulseaudio, it can reopen sinks with their native samplerate. Furthermore you need to take care, that your sink has a wide enough output format. To properly resample samperates that are not available with your sound card, e.g. 176000 or other exotic rates, we set pulseaudio to a default of 44100 khz, which is the default for every standard mp3. As alternate sample-rate we suggest 48000. That means that all non available samplerates are resampled with an exact integer division of src_rate / dst_rate.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s24le&lt;br /&gt;
default-sample-rate = 44100&lt;br /&gt;
alternate-sample-rate = 48000&lt;br /&gt;
&#039;&#039;&#039;avoid-resampling = true&#039;&#039;&#039; ; new with pulseaudio 11&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt; (starting with v18 this option was renamed to &#039;&#039;&#039;KODI_AE_SINK=ALSA&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Kodi_v18_(Leia)_changelog&amp;diff=150321</id>
		<title>Kodi v18 (Leia) changelog</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Kodi_v18_(Leia)_changelog&amp;diff=150321"/>
		<updated>2018-12-11T19:34:43Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* AudioEngine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Releases]] {{l2| [[Leia]] }} }}&lt;br /&gt;
&lt;br /&gt;
{{notice|Kodi&#039;s journey via non-alpha/beta v18 (Leia) releases is currently underway. As such, these new features/functions and API changes is a placeholder containing changes to the current Kodi mainline (the git master tree repository on GitHub). This is listing changes committed to the master branch after Krypton branching. The many features/functions and API additions, alterations or removal are only subject to change during the Alpha stages. The Beta stage is all about stability and bug fixing. }}&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
{{future|18}}&lt;br /&gt;
&lt;br /&gt;
{{see also|Kodi v18 (Leia) FAQ|Leia API changes|Releases}}&lt;br /&gt;
&lt;br /&gt;
This is the Kodi Wiki version of a condensed changelog for the future Kodi v18.x version (codename: &amp;quot;Leia&amp;quot;) releases with a summary of the most important core features and functions as well as other notable changes to key areas of the application software or its user interface. Please note that this condensed changelog version is not meant bug-fixes, nor minor refactoring or cosmetic changes. &lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
&lt;br /&gt;
=== Gaming (Games interface and Game Clients)===&lt;br /&gt;
Note! Also see &amp;quot;Input System (Input Manager and Input APIs&amp;quot; section for Input System related to game controllers&lt;br /&gt;
* Added a &amp;quot;[[Games]]&amp;quot; window to GUI (games are managed using a basic file browser as a game library does not exist yet)&lt;br /&gt;
* Added a RetroPlayer player core supporting [[Game_Add-ons|game clients addons]] as well as emulator cores via [[libretro]] API&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;&amp;gt;RetroPlayer http://forum.kodi.tv/showthread.php?tid=164725&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11022&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons AP to support Game Client Addons, supporting Kodi&#039;s VFS (Virtual File System), etc.&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added support for Game Client Addons as new type of addons with just-in-time emulator installation&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a Games window and Game OSD (On-Screen-Display) entries to the GUI&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12367&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added a gaming and game configuration interface for Game settings to the GUI&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added support for Game Info Tags (game info tag) and exposed properties to Python list items&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a savestate (savestate) manager to Kodi for games&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11034&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added initial support for basic gameplay persistence (auto-save &amp;amp; auto-load)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12434&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for in-game (save RAM) saves&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11380&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Keyboard players via Joystick Emulation&amp;lt;ref name=&amp;quot;RetroPlayer&amp;quot;/&amp;gt;&lt;br /&gt;
* Added Game API acbstraction for game controller multitaps (a.k.a. hubs) including topology GUI display&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13499&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Game API acbstraction to support gamepad/joystick remapping for games (per game-addon)&lt;br /&gt;
* Added Game API acbstraction to support keyboard remapping for games (per game-addon)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13374&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Game API acbstraction to support mouse remapping for games (per game-addon)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13482&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for libretro API and game cores (emulators and games) that support it as binary addons&lt;br /&gt;
* Added [[Game_Add-ons|game clients addons]] for many popular third-party game console emulators and native open source games *&lt;br /&gt;
** &#039;&#039;* [[Game_Add-ons|Game clients addons]] for Kodi is changing quickly so checkout the [[Game_Add-ons|game clients addons]] article for a current list&#039;&#039;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Live TV and PVR (Personal Video Recorder) ===&lt;br /&gt;
* Added support for RDS (Radio Data System) for radio channels if the PVR backend client support RDS&lt;br /&gt;
* Added new settings for &#039;Startup action&#039; and add &#039;Play TV/Radio &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12548&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for global direct channel number input &amp;amp; global unique channel numbers&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13135&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11434&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Added support for no delay on switch to previous channel with key 0 when using direct channel number input&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13232&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added context menu support for Estuary (skin) PVR home screen widgets &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10870&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added percent played progress bar to PVR info panel (for recordings) in Estuary (skin)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13338&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Info support to recently played channel widget to Estuary (skin) home screen &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12254&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added episode name to Live TV, recordings OSD sub label, and cleanup seekbar for Live TV in Estuary (skin) &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12306&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added Season/Episode info in Guide window and dialog in Estuary (skin)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13300&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for next and previous buttons in OSD Timeshift window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14387&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added feature to prefill recordings folder with timer title in the timer settings dialog&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11679&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for radio channel groups to the channelgroup manager&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11877&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for a &#039;Smart selection&#039; of EPG events feature to the guide window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11782&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added &#039;Go to date&#039; context menu item to the guide window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13282&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for channel groups selector to the guide window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13364&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added possibility to switch between horizontal and vertical epg grid view to the guide window &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11958&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to sort content by channel number/channel name/last played, support sort order to the Guide window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14231&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support next/previous chapter in PVR recordings&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13164&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved PVR seekbar and info dialog in Estuary (skin) &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13158&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved PVR info panel, info dialog, and recordings window in Estuary (skin)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12416&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13255&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for enabling multiple PVR client addons&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12959&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for for subchannel numbers support (ATSC)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13069&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved OSD Timeshift GUI&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14316&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14386&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved the guide window for better consistency and readability &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13402&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed GUI actions to eliminate duplicate and dead code (major GUI refactoring for PVR and LiveTV)&lt;br /&gt;
* Changed implementation of EPG search filter (EPG search dialog) completely&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11570&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12001&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed Guide Window removing obsolete views &amp;quot;channel&amp;quot;, &amp;quot;now&amp;quot; and &amp;quot;next&amp;quot;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10838&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed &amp;quot;play minimized&amp;quot; settings handling &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11203&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed &#039;epg.lingertime&#039; to an official setting, remove the respective advanced setting&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12740&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed shared channel selection into an optional setting&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13237&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed obsolete and unused setting &#039;pvrplayback.scantime&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12800&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed channel guide button from EPG event info dialog, add &#039;channel guide&#039; to context menu&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12526&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed setting &#039;hide connection lost warning&#039; &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11500&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed non-working recording settings defaults &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11746&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Recordings window: Content view filter &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11704&amp;lt;/ref&amp;gt;&lt;br /&gt;
* PVR-Addon API changes &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12028&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12303&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12552&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12609&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12660&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12689&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12755&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13228&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13720&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14002&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14086&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added, updated, and improved PVR backend clients addons for popular third-party external [[PVR backend]] platforms:&lt;br /&gt;
** New: [[Add-on:Zattoo PVR Client|Zattoo PVR Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** New: [[Add-on:Teleboy PVR Client|Teleboy PVR Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** New: [[Add-on:Sledovanitv.cz PVR Client|Sledovanitv.cz PVR Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PVR Demo Client|PVR Demo Client]] dummy addon with fake (method stub) [[PVR backend]] for [[PVR]] skinning and regression testing&lt;br /&gt;
** [[Add-on:IPTV Simple Client|IPTV Simple Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:FilmOn PVR Client|FilmOn]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Stalker Client|Stalker Middleware]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:HDHomeRun PVR|HDHomeRun]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Digital Devices Octopus NET Client|Digital Devices Octopus NET Client]] PVR Addon backend client maintained and made available by [http://digitaldevices.de/home/ Digital Devices]&lt;br /&gt;
** [[Add-on:VU+ / Enigma2 Client|Enigma2 (Dreambox / Vu+ / DBox2)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:VBox TV Gateway PVR Client|VBox TV Gateway]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Njoy N7 PVR Client|Njoy Digital (N7)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PCTV Systems Client|PCTV Systems (Broadway)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Tvheadend HTSP Client|Tvheadend HTSP Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:VDR VNSI Client|VDR VNSI Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:MythTV PVR Client|MythTV PVR Client]] Addon backend client maintained and available from the Kodi&#039;s community&lt;br /&gt;
** [[Add-on:NextPVR PVR Client|NextPVR (former GB-PVR)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:Argus TV Client|Argus TV (former ForTheRecord)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:DVBLink PVR Client|DVBLink PVR Client]] Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:DVBViewer Client|DVBViewer Client]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:MediaPortal PVR Client|MediaPortal PVR Client]] Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
** [[Add-on:PVR.WMC|WMC (Windows Media Center)]] PVR Addon backend client maintained and available from Kodi&#039;s community&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Add-ons Framework, API, and Manager ===&lt;br /&gt;
For full changelogs of all Addons APIs, see [[Leia API changes]], [https://forum.kodi.tv/showthread.php?tid=324598 JSON-RPC], and [http://forum.kodi.tv/forumdisplay.php?fid=26 Add-ons] Development Forums&lt;br /&gt;
* Implemented a Python 3 interpreter inside Kodi (plus enforcing Python 2 &amp;amp; 3 compatibility in Leia addon repository)&amp;lt;ref&amp;gt;https://kodi.tv/article/attention-addon-developers-migration-python-3&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Implemented online binary addon repository from which Kodi can now automatically installs/updates binary addon&amp;lt;ref&amp;gt;https://kodi.tv/article/kodi-v18-binary-add-ons-repository&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/repo-binary-addons&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Major refactoring of Kodi&#039;s core handling and GUI management of binary addons&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pulls?q=label%3A%22Binary+Addons%22+is%3Aclosed&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework to support VFS (Virtual File System) as binary addons&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/8966&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework support for binary addons for video decoder codecs&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12340&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added framework support for binary addons for image (picture) decoder codecs&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons API to support binary addons for video decoder codecs&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Added extentions to Kodi&#039;s Addons API to support binary addons for image decoder codecs&lt;br /&gt;
* Added support for Python addons to use PyCryptoDome crypto module for decryption&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11477&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added option to pass HTTP cookies with AVOption to Kodi&#039;s Video Player&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12257&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow addons to edit all used controls on their processed window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12259&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow Python addons to set the videoinfotag path&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11012&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to allow Python addons to get/set the dbid of a (music) listitem&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10858&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for mediatype to musicinfotag tag retrieving via Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11110&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support &amp;quot;int/float slider&amp;quot; to Kodi&#039;s Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11230&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support &amp;quot;setContent for mediawindows&amp;quot; to Kodi&#039;s Python API&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11258&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added help for load of shared library and allow the use of their own addon temp folder&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12379&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to inspect add-on dependencies prior to installation&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12242&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added ability to remove add-on settings upon uninstall&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11499&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to new addon gui interface for list items to use on addon window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12214&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed service addons to use event handlers instead of synchronous addon hooks&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12370&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Input System (Input Manager and Input APIs) ===&lt;br /&gt;
* Improved the input manager and input API system for keyboards, mouses, and game controllers&amp;lt;ref name=&amp;quot;Controller input system&amp;quot;&amp;gt;PR #8807 Controller input system http://github.com/xbmc/xbmc/pull/8807&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated &amp;quot;Peripheral Addons&amp;quot; for game controllers, gamepads, joysticks, and input peripherals profiles (in Kodi-game repo&amp;lt;ref&amp;gt;http://github.com/kodi-game/ kodi-game repo on GitHub&amp;lt;/ref&amp;gt;):&lt;br /&gt;
** [http://github.com/xbmc/peripheral.joystick Joystick Controller Addon]&lt;br /&gt;
** [http://github.com/kodi-game/peripheral.xarcade X-Arcade (XGaming Tankstick) support for Kodi Addon]&lt;br /&gt;
** [http://github.com/kodi-game/peripheral.steamcontroller Steam Controller (gamepad) Addon]&lt;br /&gt;
** [http://github.com/kodi-game/kodi-game-controllers/tree/master/addons/game.controller.default Default Game Controller Addon  (reference game controller addon based on Xbox 360 gamepad)]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons PlayStation Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Nintendo NES Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Nintendo SNES Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Nintendo N64 Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Nintendo GBA Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Sega Genesis Game Controller Addon]&lt;br /&gt;
*** [https://github.com/kodi-game/controller-topology-project/tree/master/addons Sega Dreamcast Game Controller Addon]&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== GUI Engine (Skinning Engine) ===&lt;br /&gt;
For full changelog on changes to the skinning engine, see [[Leia API changes]] and the [http://forum.kodi.tv/showthread.php?tid=298565 Skin Development Forum]&lt;br /&gt;
* Added windows to support Games and Game OSD in the new default skins (Estuary and Estouchy)&lt;br /&gt;
* Added player process info dialog to Kodi&#039;s default skin (Estuary)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11718&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for addons to use banner and ClearLogo&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12244&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for skins/gui to allow implicit container referencing for non-media windows&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10883&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for addons to add &amp;quot;Enable/Disable&amp;quot; to context menu&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11124&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for remember last used keyboard layout in GUI&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11242&amp;lt;/ref&amp;gt; &lt;br /&gt;
* Added support for ISO 639-2/T language code retrieval (required by libbluray)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12258&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added window that display Kodi privacy policy in GUI settings under system info&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10785&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to map a key to browse for subtitle in video fullscreen window&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11649&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine with  optimizations for message handling and SmartRedraw&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12213&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine support for scaling container layouts&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11229&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s GUI engine by allowing %-values for origin, camera and animation attribs&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11233&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed so that context menu reloading loads async to aviod GUI lockup on wait&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11841&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated guilib ABI (for libgui) to version 5.13.0&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11306&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated keyboard layout for some languages and added support Croatian, Slovenian, and Thai (Kedmanee)&lt;br /&gt;
* Updated image resource addons (as example weather icons, weather fanart, studio logos, and genre icons)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Platform Independent Playback ===&lt;br /&gt;
* Added support for &amp;quot;InputStream&amp;quot; (input stream) addons to pass CryptoSession flags field&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12428&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for BD-J / Blu-ray Disc Java menu support (requires system Java runtime enviroment)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12339&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12310&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Blu-ray Disc detection and use provided meta data for Blu-ray Disc names&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12488&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for video buffers to be used by decoders and renderers&amp;lt;ref name=&amp;quot;VideoPlayer updates for Leia&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12212&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Added support for platforms to register custom buffers, like example dma&amp;lt;ref name=&amp;quot;VideoPlayer updates for Leia&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a VC1-Packet bitstream parser implementation for improved VC-1 playback&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11417&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added and updated many (binary) audio decoder and encoder addons for Kodi&lt;br /&gt;
* Added a few (binary) video decoder addons for Kodi&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Added a &amp;quot;RAW&amp;quot; (libraw based) image decoder addon to Kodi&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11671&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved MMAL playback of H.264 MVC (Blu-ray 3D) stereoscopic video with framepacking decoding on Raspberry Pi&lt;br /&gt;
* Improved Stereoscopic 3D playback of 3D videos (as well as better 2D playback of 3D videos)&lt;br /&gt;
* Improved and enhanced Blu-ray support (including updated libbluray dependecies from the VideoLAN project&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12305&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;http://git.videolan.org/?p=libbluray.git;a=blob;f=ChangeLog&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for &amp;quot;InputStream&amp;quot; (input stream) addons as system addons&lt;br /&gt;
* Updated &amp;quot;InputStream&amp;quot; (input stream) client addons for common network streaming protocols and popular services:&lt;br /&gt;
** [http://github.com/xbmc/xbmc/tree/master/addons/kodi.inputstream InputStream Addon (default reference InputStream Addon by Team Kodi]&lt;br /&gt;
** [http://github.com/mapfau/inputstream.test Test InputStream Addon (Test InputStream Addon for Kodi&#039;s new inputstream interface]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.adaptive Adaptive InputStream Addon (InputStream Client addon for several manifest types)]&lt;br /&gt;
** [http://github.com/xbmc/repo-binary-addons/tree/master/inputstream.rtmp RTMP InputStream Addon (InputStream Client for RTMP streams using librtmp)]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.mpd MPD (MPEG-DASH) InputStream Addon]&lt;br /&gt;
** [http://github.com/peak3d/inputstream.smoothstream SmoothStream InputStream Addon for MS-SSTR (SmoothStreamingMedia) Smooth Streaming Protocol] &lt;br /&gt;
** [http://github.com/mapfau/inputstream.nxmsl NXMSL InputStream Addon for Netflix style manifests over MSL]&lt;br /&gt;
* Updated FFmpeg multimedia codec and demux libraries to stable branch release version [http://www.ffmpeg.org/download.html#release_4.0.2 FFmpeg 4.0 (4.0.2)]&amp;lt;ref&amp;gt;http://git.videolan.org/?p=ffmpeg.git;a=blob_plain;f=Changelog;hb=release/4.0.2 FFmpeg 4.0.2 release changelog&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14212&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed certain audio codecs from core and made them into audio decoder and audio encoder binary add-ons&lt;br /&gt;
* Removed certain video codecs from core and made them into video decoder binary add-ons&amp;lt;ref name=&amp;quot;Addon video codec implementation&amp;quot;/&amp;gt;&lt;br /&gt;
* Removed certain image codecs from core and made them into image decoder binary add-ons&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== General Library ===&lt;br /&gt;
* Added support to use the Favourites function in context menus&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11967&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for context menus to favourites home screen widget&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11929&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to &amp;quot;Sort By Date Added&amp;quot; in Music Video title node&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12495&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Music Library ===&lt;br /&gt;
* Added an option to rescan the music file tags for existing items in the library &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11557&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added processing of WRITER tag for ID3 v2, Vorbis and APE formats &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11735&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added processing of ARTISTSORT (TSOP), ALBUMARTISTSORT (TS02) and COMPOSERSORT (TSOC) tags to provide a sort name for artists. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11738&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added a new dialog for selection of both artist and album scraper addons, and their settings.&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12987&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12943&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added additional artist data that Musicbrainz provides: type (person, group, orchestra, choir etc.), gender, and disambiguation comments that help to differentiate artists with the same name &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12963&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added an Artist Information Folder - a single location for artist artwork and nfo. This solves numerous issues related to artwork, artist data import and general folder and file structure &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12891&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Extended Artwork, making the local art that is picked up automatically on scan configurable. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13352&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13848&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13491&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13101&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13871&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added an option to prefer scraped album covers to embedded images &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13812&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added a filter to sort music items by media source &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14012&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/14082&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved use of BAND and ENSEMBLE (Vorbis and APE) tags. &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11735&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved handling of duplicate MusicBrainzTrackID within the same album&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12079&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved handling of Cue Sheets&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12082&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved online scraping of additional artist and album information making better use of Musicbrainz IDs&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12120&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12597&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved on clean installs, change default song sort order to Track Number &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12834&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved FileItem::IsSamePath for albums and artists to prevent false matches&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13585&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved album genre inconsistencies&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13042&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved performance by avoiding unnecessary db access by GUI when app processing GUI_MSG_UPDATE_ITEM messages&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13640&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for fetching local art for multi-folder albums (disc sets) &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13769&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed Artist/Album Information Dialog &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13672&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed Song Information Dialog &amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/13533&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Web Scrapers ===&lt;br /&gt;
* Added support for Python (script) based web scrapers for Kodi&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/9984&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Refactored and updated many XML based scrapers in Kodi for music, movies, tv shows, and music videos&lt;br /&gt;
* Updated music, movies, tv shows, and music video scrapers for Kodi&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== AudioEngine ===&lt;br /&gt;
* Added a new Sndio sink for [[AudioEngine#ActiveAE|ActiveAE]] for BSD, other BSD Unix based systems, and Linux&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11962&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved the default cross-platform event driven active state machine pattern [[AudioEngine#ActiveAE|ActiveAE]] (Kodi&#039;s [[AudioEngine]])&lt;br /&gt;
* Improved ALSA sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop and generic Linux based Embedded Systems&lt;br /&gt;
* Improved PulseAudio sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop&lt;br /&gt;
* Improved OSS (Open Sound System) sink for [[AudioEngine#ActiveAE|ActiveAE]] for BSD, like FreeBSD and similar BSD Unix based systems&lt;br /&gt;
* Improved AUDIOTRACK sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Amlogic]]&lt;br /&gt;
* Improved Pi Audio sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Raspberry Pi]]&lt;br /&gt;
* Improved DirectSound sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Improved WASAPI sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Improved CoreAudio sink for [[AudioEngine#ActiveAE|ActiveAE]] for (Mac) OS X and iOS&lt;br /&gt;
* Improved Darwin sink for [[AudioEngine#ActiveAE|ActiveAE]] for (Mac) OS X and iOS&lt;br /&gt;
* Renamed AE_SINK to KODI_AE_SINK&lt;br /&gt;
* PulseAudio Sink now honors users&#039; server settings, starting with PA version 11.0 means: it does not do overwrite servers&#039; mixing policy. Check: remixing-use-all-sink-channels server setting.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* Added a new unified setting for &amp;quot;Startup action&amp;quot; and added &amp;quot;Play TV/Radio&amp;quot;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12548&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support to build Kodi with support for Bluetooth&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11137&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added possibility for CMake build system to add additional libraries on install&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12423&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added and updated many audio visualization and screensaver addons for Kodi&amp;lt;ref&amp;gt;https://github.com/xbmc/repo-binary-addons&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Kodi&#039;s JSON-RPC API&lt;br /&gt;
* Improved code stability, performance. and security, as well as general code clean-up in many core areas&lt;br /&gt;
* Improved compiling/building and code documentation (following doxygen coding guidelines)&lt;br /&gt;
* Changed to use spdlog for Kodi logging as well as improved and further optimized logging (including debug logs)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11833&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed XML format of setting values for Kodi&#039;s settings configuration&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12277&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated and improved mappings for new and existing remote controls&lt;br /&gt;
* Updated default web interface (webinterface is called &amp;quot;Chorus2&amp;quot; and is currently at version 2.4.4)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11872&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Updated critical dependency libraries such as openssl, gnutls, and CMake (used to compile Kodi and its binary addons)&lt;br /&gt;
* Removed last dependencies of SDL (Simple DirectMedia Layer) which was hardware abstraction for input devices&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12272&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11881&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed all glew (libglew library) dependencies in Kodi&#039;s code&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11128&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Android Specific ===&lt;br /&gt;
* Moved to Android API 26 and SDK 26 with NDK 18 as minimum (meaning at least Android 5.0 is still required)&lt;br /&gt;
* Added support for speech-to-text in Kodi OSD keyboard on Android TV (triggered by voice button on remote)&lt;br /&gt;
* Added support for Android to move the Kodi app to SD card&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12168&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Android TV Leanback search and recommendations meta data from Kodi&amp;lt;ref&amp;gt;|https://github.com/xbmc/xbmc/pull/11901&amp;lt;/ref&amp;gt;&lt;br /&gt;
** Default setting for Android TV Leanback suggestion to random unwatched movies and music albums&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11963&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed Rendertype from GUILayer to VideoLayer for Android MediaCodecSurface&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12097&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to use NDK native C interface for Android MediaCodec (for performance gains)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11931&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to support ZeroConf via native Android API (and deprecates mDNSresponder)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11393&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed to support network information via native Android API (and deprecates POSIX)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12243&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed handling of Kodi&#039;s Java interfaces via JNI for better consistency&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12292&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== BSD Specific ===&lt;br /&gt;
* Improved Kodi support for [http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD (operating system)] on FreeBSD, PC-BSD, and other similar BSD platforms&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Linux Specific ===&lt;br /&gt;
* Added support for a generic DRM/KMS implementation using GBM to create surfaces and V4L2 for video acceleration&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11955&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for Mir windowing system (Mir 1.0) for Kodi&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10898&amp;lt;/ref&amp;gt; and added support for VAAPI on Mir using DRM&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11040&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for the middle mouse button on embedded platforms&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11956&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support more yuv420p bitwidths for direct rendering on Linux&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12479&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for using VAAPI hardware video decoding with OpenGL ES&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12113&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for build Kodi with imx support using CMake&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/11288&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Moved the CMake build system to the top of the code tree (moved to root)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10446&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support for UltraHD decoding / 4K resolution output when hardware supports it&lt;br /&gt;
* Improved ARM processor architecture (using [[Raspberry Pi]] as reference device)&lt;br /&gt;
* Improved OpenGL ES and EGL support (using [[Raspberry Pi]] as reference device)&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Video Acceleration (requires VDPAU compatible hardware and drivers)&lt;br /&gt;
* Improved XvBA (AMD/ATI) Hardware Video Acceleration (requires XvBA compatible hardware and drivers)&lt;br /&gt;
* Improved dedicated AMLCodec hardware accelerated video decoding support for Linux on Amlogic devices&lt;br /&gt;
* Removed the unused and unmaintained OpenMAX video decoder from Kodi&#039;s VideoPlayer&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12197&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed support for autotools based build system for Kodi and binary addons (in favour of CMake)&amp;lt;ref&amp;gt;http://github.com/xbmc/xbmc/pull/10429&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== iOS Specific ===&lt;br /&gt;
* Added support for iOS 10.0 by adding support for compiling Kodi with Xcode 8 IDE and iOS SDK 10.0&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/10539&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved Apple VDADecoder Video Acceleration support for iOS (on iPad, iPhone, and iPod iDevices)&lt;br /&gt;
* Improved support for TVOS (Apple&#039;s iOS fork for Apple TV 4) in Kodi mainline&lt;br /&gt;
* Improved support for iOS on ARM64 (64-bit iOS)&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== OS X Specific ===&lt;br /&gt;
* Added support for compiling Kodi with Xcode 8 IDE for OSX 10.11 (El Capitan) and macOS 10.12 (Sierra)&lt;br /&gt;
* Improved Apple VDADecoder Video Acceleration support for (Mac) OS X&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
=== Windows Specific ===&lt;br /&gt;
* Added support to build Kodi for Windows 64 / Windows for Intel 64-bit (x86-64)&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12065&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Added support for 3D LUT (3D Lookup Table) and dithering to Windows video renderer&amp;lt;ref name=&amp;quot;WinRenderer re-work&amp;quot;&amp;gt;https://github.com/xbmc/xbmc/pull/12475&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Improved support to compiling Kodi for Microsoft&#039;s UWP (Universal Windows Platform) APIs&lt;br /&gt;
* Changed the inner working of render buffers and rendering methods&amp;lt;ref name=&amp;quot;WinRenderer re-work&amp;quot;/&amp;gt;&lt;br /&gt;
* Changed to using unicode win32 api methods&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11780&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Changed windowing systems for screen saver handling on Windows OS platforms&lt;br /&gt;
* Changed to make Kodi for Windows platform independent of posix/main.cpp&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/12215&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Removed support for Windows Vista as the operating-system is no longer supported by Microsoft&amp;lt;ref&amp;gt;https://github.com/xbmc/xbmc/pull/11953&amp;lt;/ref&amp;gt;&lt;br /&gt;
* ?&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Leia API changes]]&lt;br /&gt;
{{Changelogs}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Leia|*]]&lt;br /&gt;
[[Category:Changelogs|18]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=139117</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=139117"/>
		<updated>2018-06-10T10:50:31Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt; (starting with v18 this option was renamed to &#039;&#039;&#039;KODI_AE_SINK=ALSA&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=139116</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=139116"/>
		<updated>2018-06-10T10:50:15Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: AE_SINK to KODI_AE_SINK for v18&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt; (starting with v18 this option was renamed to &#039;&#039;&#039;KODI_AE_SINK=ALSA&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=137063</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=137063"/>
		<updated>2018-05-21T08:17:54Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PulseAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04, even later version are affected) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=132210</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=132210"/>
		<updated>2018-01-04T10:47:08Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Debian&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release. At the time of writing, affected distributions: Debian.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=132207</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=132207"/>
		<updated>2018-01-04T10:39:13Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add volume description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation, in order to get 7.1 audio Multichannel Mode must be used}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync. In the case of video with TrueHD/DTS-HD 7.1 audio this must be decoded by Kodi to Multichannel PCM by disabling passthrough, then Pulseaudio can handle the 7.1 channels of audio.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;.  As Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always an exclusive mode. If you have another application hogging the device, e.g. Chrome or Skype, passthrough won&#039;t work. Even applications that simply monitor the device, such as SoundWireServer, will prevent passthrough from working.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate passthrough codecs, setup pavucontrol as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, first, first identify the correct sound card ID:&lt;br /&gt;
 &#039;&#039;&#039;pacmd list-cards&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Look at the output to find the id of the card and  the name/format of the profile you want to use (in this case, card ID is &#039;&#039;&#039;0&#039;&#039;&#039; and profile is &#039;&#039;&#039;output:hdmi-stereo&#039;&#039;&#039;)&lt;br /&gt;
Once you&#039;ve identified this information, set your output profile to the one for hdmi-stereo:&lt;br /&gt;
 &#039;&#039;&#039;pacmd set-card-profile 0 output:hdmi-stereo&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then, obtain the sink ID you want to set formats on by inspecting output of:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Then set the sink format for the sink you want, as below (in this case &#039;&#039;&#039;0&#039;&#039;&#039;):&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable passthrough silently, as it makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Volume issues &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Issue: Changing kodi&#039;s volume will change overall system volume, especially on song change this is an irritating behaviour. The effect you hear is not done by kodi, but by a systemwide pulseaudio (mis)configuration. Some distributions sadly still ship pulseaudio with &#039;&#039;&#039;flat-volumes = yes&#039;&#039;&#039; as the default, which produces this behaviour. In fact it will cause the hardware volume (or master volume) to go up and down for every pulseaudio stream that changes its own volume. As this effect is unexpected behaviour for users, distributions started to ship pulseaudio with &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039; by default (as time of writing this is Ubuntu, Arch-Linux and others). In order to change that setting, depending on your distribution edit &#039;&#039;/etc/pulse/daemon.conf&#039;&#039; and set &#039;&#039;&#039;flat-volumes = no&#039;&#039;&#039;. After a PA server restart, the volume handling is more intuitive. If you are at it, please inform your distribution about those issues, so that they can ship a more user-friendly default with next release.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=AudioEngine&amp;diff=128896</id>
		<title>AudioEngine</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=AudioEngine&amp;diff=128896"/>
		<updated>2017-04-09T11:39:30Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Gapless and Best Match&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Development]]{{l2|[[Audio]] }} }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;AudioEngine&#039;&#039;&#039; or (&#039;&#039;&#039;AE&#039;&#039;&#039;) refers to XBMC&#039;s new audio system. &lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
AudioEngine replaces SDL and brings some of the external dependencies into XBMC, and wraps up all the different media types for mixing, samplerate conversion, format conversion, encoding, upmix, downmix, etc.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
;Features of AE include:&lt;br /&gt;
* &#039;&#039;Support for DTS-HD MA / Dolby TrueHD Bluray formats&#039;&#039;&lt;br /&gt;
* &#039;&#039;Support for 24-bit and floating-point audio at up to 384,000hz&#039;&#039;&lt;br /&gt;
* &#039;&#039;Mixing of all streams including GUI sounds even when transcoding audio&#039;&#039;&lt;br /&gt;
* &#039;&#039;Start-up enumeration of hardware audio devices and their capabilities with log output&#039;&#039;&lt;br /&gt;
* &#039;&#039;Bitstreaming support in [[PAPlayer]] (XBMC&#039;s music player)&#039;&#039;&lt;br /&gt;
* &#039;&#039;Upmixing of stereo to full channel layout&#039;&#039;&lt;br /&gt;
* &#039;&#039;Tighter syncing of A/V streams&#039;&#039;&lt;br /&gt;
* &#039;&#039;Floating-point processing of audio&#039;&#039;&lt;br /&gt;
* &#039;&#039;24-bit and floating-point decoding/handling of mp3&#039;&#039;&lt;br /&gt;
* &#039;&#039;Full support for [[w:ReplayGain|ReplayGain]]&#039;&#039;&lt;br /&gt;
* &#039;&#039;Built-in sample-rate conversion and transcoding&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
It&#039;s still early days for AE. Bugs will be found, and new and exciting features added.&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
Audio settings can be found in the GUI at&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;big&amp;gt;{{highlight|Settings -&amp;gt; System -&amp;gt; Audio output|bordered=yes}}&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Refer to [[AudioEngine/HOW-TO: Configure audio]] for more detail.&lt;br /&gt;
&lt;br /&gt;
== Supported Audio Formats for Passthrough ==&lt;br /&gt;
&lt;br /&gt;
A summary of some of the supported formats within the AudioEngine &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;Audio Codec&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;12&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;Audio Source&#039;&#039;&#039;&lt;br /&gt;
!rowspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;XBMC Passthrough Setting&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;HD DVD&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;Blu-ray Disc&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;DVD-Video&#039;&#039;&#039;&lt;br /&gt;
!colspan=&amp;quot;3&amp;quot; style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot; | &#039;&#039;&#039;DVD-Audio&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Channels (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Max bit rate&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Sample rate (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Channels (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Max bit rate&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Sample rate (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Channels (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Max bit rate&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Sample rate (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Channels (max)&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Max bit rate&lt;br /&gt;
! style=&amp;quot;color:#000000; background-color:#DBDBDB;&amp;quot;| Sample rate (max)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC-3)&#039;&#039;&#039;&lt;br /&gt;
| 5.1&lt;br /&gt;
| 504 kbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 640 kbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 448 kbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 448 kbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| Dolby Digital (AC3) capable receiver&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital Plus (E-AC-3)&#039;&#039;&#039;&lt;br /&gt;
| 7.1&lt;br /&gt;
| 3 Mbit/s&lt;br /&gt;
| 48 kHz / 24 bit &lt;br /&gt;
| 7.1&lt;br /&gt;
| 1.7 Mbit/s&lt;br /&gt;
| 48 kHz / 24 bit &lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; {{NA}}&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
| 5.1 (Core)&lt;br /&gt;
| 1536 kbit/s&lt;br /&gt;
| 48 kHz / 24 bit&lt;br /&gt;
| 5.1 (Core)&lt;br /&gt;
| 1536 kbit/s&lt;br /&gt;
| 48 kHz / 24 bit&lt;br /&gt;
| 6.1&lt;br /&gt;
| 768 kbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; {{NA}}&lt;br /&gt;
| rowspan=&amp;quot;2&amp;quot;| DTS capable receiver&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS 24/96&#039;&#039;&#039;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; {{NA}}&lt;br /&gt;
| 5.1&lt;br /&gt;
| 1536 kbit/s&lt;br /&gt;
| 96 kHz / 24-bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 1536 kbit/s&lt;br /&gt;
| 96 kHz / 24-bit&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Linear PCM (LPCM)&#039;&#039;&#039;&lt;br /&gt;
| 7.1&lt;br /&gt;
| 27 Mbit/s&lt;br /&gt;
| 192 kHz / 24 bit&lt;br /&gt;
| 8.1&lt;br /&gt;
| 27 Mbit/s&lt;br /&gt;
| 192 kHz / 24 bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 6.1 Mbit/s&lt;br /&gt;
| 48 kHz / 16 bit&lt;br /&gt;
| 5.1&lt;br /&gt;
| 6.1 Mbit/s&lt;br /&gt;
| 96 kHz / 24 bit&lt;br /&gt;
| MultiChannel LPCM capable receiver&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby TrueHD&#039;&#039;&#039;&lt;br /&gt;
| 7.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
|192 kHz / 24 bit&lt;br /&gt;
| 7.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
| 192 kHz / 24 bit&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; {{NA}}&lt;br /&gt;
| TrueHD capable receiver&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD High Resolution Audio (HRA)&#039;&#039;&#039;&lt;br /&gt;
| 7.1&lt;br /&gt;
| 6 Mbit/s&lt;br /&gt;
| 96 kHz / 24 bit&lt;br /&gt;
| 7.1&lt;br /&gt;
| 6 Mbit/s&lt;br /&gt;
| 96 kHz / 24 bit&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; style=background:#FFC890 | N/A&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot;| DTS-HD capable receiver&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;left&amp;quot; rowspan=&amp;quot;2&amp;quot;|&#039;&#039;&#039;DTS-HD Master Audio (MA)&#039;&#039;&#039;&lt;br /&gt;
| 5.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
| 192 kHz / 24 bit&lt;br /&gt;
| | 5.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
| 192 kHz / 24 bit&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; {{NA}}&lt;br /&gt;
|-&lt;br /&gt;
| 7.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
| 96 kHz / 24 bit&lt;br /&gt;
| 7.1&lt;br /&gt;
| 18 Mbit/s&lt;br /&gt;
| 96 kHz / 24 bit&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; {{NA}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Test audio files ===&lt;br /&gt;
Below You can find a excellent range of flac test audio files stereo/multichannel and varied sample/bit rates and quality.&lt;br /&gt;
&lt;br /&gt;
Click [http://www.2l.no/hires/ here] to download flac test files&lt;br /&gt;
&lt;br /&gt;
Click [http://download.wavetlan.com/SVV/Media/HTTP/http-wma.html here] to download wma test files&lt;br /&gt;
&lt;br /&gt;
Click [http://www.testsounds.com/ here] to download various audio system test files&lt;br /&gt;
&lt;br /&gt;
== Audio hardware compatibility ==&lt;br /&gt;
&amp;lt;big&amp;gt;{{See also | Audio hardware compatibility}}&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History and Team ==&lt;br /&gt;
AudioEngine, AE for short was two-year project spear-headed by [[User:Gnif|Gnif]] which was released in v12 (Frodo), and was first merged with master for user testing as of May 15th, 2012.&lt;br /&gt;
&lt;br /&gt;
=== Why write a new audio subsystem? ===&lt;br /&gt;
&lt;br /&gt;
It&#039;s been an accepted fact that the existing audio code was little-touched since the early days of XBMC, and was limited by the 16-bit architecture of the original Xbox and codecs available at the time. Dolby AC3 and mp3 (or earlier formats!) ruled the media codec world. Over time HTPC&#039;s became more mainstream, more powerful and better connected. Analog connections gave way to optical SPDIF connections, which in turn were replaced with HDMI. Processors, GPU&#039;s and media formats evolved at a steady pace.&lt;br /&gt;
&lt;br /&gt;
With the growth of the HTPC and new formats like those made available with Bluray technology, the audio subsystem was under scrutiny as an area for improvement. Higher definition audio like multichannel FLAC was becoming a preferred standard for those demanding higher quality audio media. It was time for an update, and what an update!&lt;br /&gt;
&lt;br /&gt;
Early efforts at patching fixes and even an initial attempt at a completely new system fell by the wayside. The scope of the required changes and the complexity of the API made it a daunting task, especially for volunteer programmers working in their spare time.  This was compounded by the fact that XBMC runs on a wide range of hardware and operating systems.  Most of the developers focus on specific platforms or subsystems within the whole of XBMC. Any new system had to be platform-agnostic, cohesive and flexible.&lt;br /&gt;
&lt;br /&gt;
In time, it became obvious the project was going to require a full re-write and replacement of the audio engine. Furthermore, XBMC&#039;s base of hardware and OS platforms continued to grow. The detailed specifications for the new audio formats were unknown, and of course the master code for XBMC was ever-changing.&lt;br /&gt;
&lt;br /&gt;
=== Three years of work ===&lt;br /&gt;
In November of 2009 [[User:Gnif|Gnif]] decided to bite the proverbial bullet, and after extensive consultation with the team finalized the API or structure which was to become AE. Drawing in other developers as required, the massive project slowly took shape, and reached the ready-point for user tests a year later. The forum thread for those hardy beta-testers (thank you!) reached over 1,200 posts, and slowly but surely features were added and debugged, and system stability grew.&lt;br /&gt;
&lt;br /&gt;
Over the next two years, thanks to the determination of [[User:Gnif|Gnif]] the core engines, decoders, encoders and utilities that make up AudioEngine became a reality, and other developers began to contribute to the core and especially the platform-specific sinks or output stages. Among those contributing were [[User:Gimli|Gimli]], [[User:Fneufneu|Fneufneu]], [[User:Memphiz|Memphiz]], [[User:Dddamian|Dddamian]], [[User:Anssi|Anssi]] and others.&lt;br /&gt;
&lt;br /&gt;
There was a goal to have the new audio system ready for Eden 11.0, but there was just too much left to do. Many users were eagerly looking forward to it&#039;s inclusion, but stable releases must continue, and AE wasn&#039;t ready when the Eden feature-freeze went into effect. During this time the AE code-base was solidified, bugs tracked and squashed, features added and testing increased.&lt;br /&gt;
&lt;br /&gt;
Finally, on May 15th 2012, AudioEngine was merged to master. Weighing in at over 22,000 lines of code, it represents one of the single biggest code-merges ever for XBMC. Now for the first time it is readily accessible for all the development team (and users!) to see, test and improve within the greater context of XBMC&#039;s master branch.&lt;br /&gt;
&lt;br /&gt;
=== ActiveAE ===&lt;br /&gt;
ActiveAE was a large rewrite of SoftAE and combined all platforms to one engine. Sinks are available for all platforms. &lt;br /&gt;
ActiveAE uses an active state machine pattern, with a separate high priority sink thread, that cares for underruns. ActiveAE is completely build upon ffmpeg, which is used for resampling, channel mapping and decoding. High performance SSE algorithms - already existent in the AEUtils - were fixed up and are used to do the final conversion into formats the sinks can accept. ActiveAE uses the &#039;&#039;float&#039;&#039; format internally and it is working bit-exact.&lt;br /&gt;
&lt;br /&gt;
A new feature is the upmix via AC3 transcoding support. On optical devices where only 2 pcm channels are available, we can now upmix to 5.1 by transcoding to ac3.&lt;br /&gt;
Another new feature is the PulseAudio sink for ActiveAE, which was merged into XBMC mainline on January 9th 2014 and enables Linux desktop users to use the PulseAudio system instead of ALSA, which was an often requested feature. See [[PulseAudio]]&lt;br /&gt;
&lt;br /&gt;
ActiveAE has three build-in profiles: Best Match, Optimized and Fixed.&lt;br /&gt;
* &#039;&#039;Fixed&#039;&#039; takes care that all audio you will play is play in the very same data format. Your receiver does not need to switch modes. &lt;br /&gt;
* &#039;&#039;Best Match&#039;&#039; is what previously existed as the &amp;quot;audiophile&amp;quot; mode. Whenever a new video or music playback starts, the audio engine will select the best sink for that stream. By design &#039;&#039;Best Match&#039;&#039; and &#039;&#039;gapless&#039;&#039; playback are not compatible. If you rely on &#039;&#039;gapless&#039;&#039; playback, consider using &#039;&#039;Optimized&#039;&#039; instead.&lt;br /&gt;
* &#039;&#039;Optimized&#039;&#039; is something special, as it tries to reduce the reopening of sinks a lot. One example is live-TV where it switches between 5.1 to 2.0 during commercials. In order to   not open the device anew and loosing some (milliseconds of) audio, the 2.0 commercials are played with the already open 5.1 sink by muting the non existent channels. &lt;br /&gt;
The main developers of ActiveAE are [[User:Fernetmenta|Fernetmenta]] and [[User:Fritsch|Fritsch]].&lt;br /&gt;
{{frodo updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=126649</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=126649"/>
		<updated>2016-11-20T09:27:41Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Adding Sync Playback to Display&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| Enabling &#039;&#039;&#039; Sync Playback to Display &#039;&#039;&#039; will disable PT silently. It makes zero sense to sync with a display clock while one cannot alter audio.}}&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=File:Videoplayer-pt.png&amp;diff=126648</id>
		<title>File:Videoplayer-pt.png</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=File:Videoplayer-pt.png&amp;diff=126648"/>
		<updated>2016-11-20T09:22:49Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: MsUpload&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MsUpload&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=124103</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=124103"/>
		<updated>2016-08-25T21:14:41Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Mixing strategy changed.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server if a sane mapping is possible. Basically that means if the audio is FL, FR, FC, LFE, SL, SR and your speaker-mapping is FL, FR, FC, LFE, BL, BR we will resolve that and output 6 channels accordingly. Whenever we cannot map all input channels to the output we ask pulseaudio to do the mixing for us.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=123617</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=123617"/>
		<updated>2016-07-26T20:13:26Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Typos&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypton the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server with one exception: if you use the &#039;&#039;&#039;default&#039;&#039;&#039; device all remixing will &#039;&#039;still&#039;&#039; happen, so make sure to choose the specific output device, which is the device that has the name of your soundcard in its name, when interested in this new capabilities.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=123616</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=123616"/>
		<updated>2016-07-26T20:12:33Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Remixing is fixed in v17&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|Doing so may cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;pasuspender -- env AE_SINK=ALSA kodi&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pasuspender&#039;&#039;&#039; is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications access them directly. pasuspender will suspend access to the audio devices, fork a child process, and when the child process terminates, resume access again.&lt;br /&gt;
&lt;br /&gt;
You can also put the previous command in a custom .desktop-file.&lt;br /&gt;
&lt;br /&gt;
Be warned as this will interfere with your Desktop sounds!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v16 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Kodi v17 &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Starting with the upcoming kodi v17 Krypting the above behaviour is taken care within kodi. You don&#039;t have to disable remixing in pulseaudio anymore. That means content is output without further remixing by pulseaudio server with one exception: if you use the &#039;&#039;&#039;default&#039;&#039;&#039; device all remixing will &#039;&#039;still&#039;&#039; happen, so make sure to choose the specific output device, which is the device that has the name of your soundcard in its name, when interested in this new capabilities.&lt;br /&gt;
&lt;br /&gt;
== HOW-TO ==&lt;br /&gt;
&lt;br /&gt;
====[[PulseAudio/HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu|HOW-TO: Disable PulseAudio and use ALSA (without removing PulseAudio) for Ubuntu]]====&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120089</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120089"/>
		<updated>2016-04-07T07:43:21Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this will interfere with your Desktop sounds and PulseAudio! Consider removing pulseaudio instead.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04) especially while running kodi and while using &#039;&#039;Adjust Refreshrate to match video&#039;&#039;. This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0, the fix sadly won&#039;t probably make it into Ubuntu 16.04. As a workaround please disable that feature by editing /etc/pulse/default.pa and commenting or removing &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120088</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120088"/>
		<updated>2016-04-07T07:41:39Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this will interfere with your Desktop sounds and PulseAudio! Consider removing pulseaudio instead.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04). This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0. To disable that modules, edit /etc/pulse/default.pa and comment or remove: &#039;&#039;load-module module-switch-on-port-available&#039;&#039; and reboot the system.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120087</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=120087"/>
		<updated>2016-04-06T21:54:42Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Documented pulseaudio 8.0 wrong switch port behavior&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this will interfere with your Desktop sounds and PulseAudio! Consider removing pulseaudio instead.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
Audio devices are disappearing with pulseaudio 8.0 (Ubuntu 16.04). This is an issue with the module-switch-on-port-available module and will be fixed with pulseaudio 9.0. To disable that modules, edit /etc/pulse/default.pa and comment or remove:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-switch-on-port-available&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
and reboot the system.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=117564</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=117564"/>
		<updated>2016-03-13T07:55:45Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* FAQ */  Make sure that AE_SINK=ALSA harms&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this will interfere with your Desktop sounds and PulseAudio! Consider removing pulseaudio instead.&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=113161</id>
		<title>HOW-TO:Install Kodi for Linux</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=113161"/>
		<updated>2016-01-13T21:41:48Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Official Team Kodi repositories =&lt;br /&gt;
&lt;br /&gt;
The installation instructions within this section reference repositories that are officially sanctioned by Team Kodi. For third party and unofficial build support, please see the section below.&lt;br /&gt;
&lt;br /&gt;
== Installing Kodi on Ubuntu-based distributions ==&lt;br /&gt;
See [[SSH]] or [http://help.ubuntu.com/community/UsingTheTerminal Click here to find out how to use the terminal.]&lt;br /&gt;
&lt;br /&gt;
Use the command line terminal and enter the following commands. Follow the prompts as you would any other software installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install software-properties-common&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#lst:Team XBMC PPA|repos}}&lt;br /&gt;
&lt;br /&gt;
=== Installing PVR Addons ===&lt;br /&gt;
The Linux release of Kodi doesn&#039;t include any PVR addons by default. To install a PVR addon, run the following command and replace the XXXXXX with the PVR addon of your choice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install kodi-pvr-XXXXXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PVR Addon !! Description&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-dev || Kodi Media Center (PVR Add-on Dev package)&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-argustv || Kodi PVR Addon Argustv&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-demo || Kodi PVR Demo Addon&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-dvbviewer || Kodi PVR Addon Dvbviewer&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-iptvsimple || Kodi PVR Iptv Addon&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-mediaportal-tvserver || Kodi PVR Addon Mediaportal Tvserver&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-mythtv || Kodi PVR Addon MythTv - Cmyth&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-nextpvr || Kodi PVR Addon NextPvr&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-njoy || Kodi PVR Addon Njoy&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-hts || Kodi PVR Addon TvHeadend Hts&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-vdr-vnsi || Kodi PVR Addon VDR Vnsi&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-vuplus || Kodi PVR Addon Vuplus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Installing a development build ===&lt;br /&gt;
{{see also|Development builds}}&lt;br /&gt;
To install a beta/unstable version of {{kodi}} you must first add the unstable repository, then install XBMC. Use &amp;lt;code&amp;gt;ppa:team-xbmc/xbmc-nightly&amp;lt;/code&amp;gt; for nightly builds and &amp;lt;code&amp;gt;ppa:team-xbmc/unstable&amp;lt;/code&amp;gt; for [[beta]] builds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/xbmc-nightly&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you have any addons (such as PVR clients), these must be updated as well (they will not be updated automatically):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install kodi-pvr-mythtv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Upgrading ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
To update Kodi when a new version is released, just do a general system/package or use the following commands in the terminal (or via [[SSH]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|In some cases where additional packages are required, Kodi will fail to upgrade when using the upgrade commands as above. To install additional packages use the command below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get dist-upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Downgrading to a stable version from a development version ===&lt;br /&gt;
If you install a nightly build or an unstable release and want to return to a stable release, follow these instructions:&lt;br /&gt;
&lt;br /&gt;
Find the current PPA you are using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-cache policy | grep team-xbmc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the unstable or nightly PPA where it says &#039;&#039;&#039;PPAHERE&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository -r ppa:PPAHERE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restore the stable version with the following commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi kodi-bin&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Downgrading between stable versions ===&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
=== Uninstalling ===&lt;br /&gt;
If you need to remove and purge an application and finally removing/purging also the application configurations files, do so by using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi*&lt;br /&gt;
sudo apt-get purge kodi*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then remove the settings folder to remove all settings and library data. This will not delete any videos or music, but just the settings and library data itself:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.kodi/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.xbmc/ # for older versions before 14.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Third Party Repositories =&lt;br /&gt;
&amp;lt;!-- Please only list repos that use an internal ffmpeg library --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The instructions in this section are for unofficial Linux binaries that are un/semi supported by Team Kodi. Most of those binaries use system ffmpeg or even worse totally untested libav, which is not recommended for {{kodi}} as we support ffmpeg only.&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
&lt;br /&gt;
The installation if you are using Debian (Jessie), you can use the debian-backports repository.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your /etc/apt/sources.list file, as superuser (sudo)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# kodi repos&lt;br /&gt;
# starting with debian jessie, debian provides kodi via its backports repository&lt;br /&gt;
# remember: those packages are not supported by team kodi&lt;br /&gt;
deb http://http.debian.net/debian jessie-backports main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then, update APT and install Kodi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy your new Kodi.&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
Refer to [[HOW-TO:Install Kodi on Fedora 23 using RPMFusion packages]] for a guide showing how to install Fedora 23 and Kodi to create a quick-booting, standalone style of media player.&lt;br /&gt;
&lt;br /&gt;
== OpenELEC ==&lt;br /&gt;
{{main|OpenELEC}}&lt;br /&gt;
{{#lst:OpenELEC|intro}}&lt;br /&gt;
&lt;br /&gt;
== KodiBuntu ==&lt;br /&gt;
The installation instructions on this page are intended for people who already have a Linux-based OS setup, or wish to do their own installation of Linux. Alternatively you can try out [[KodiBuntu]], which will install both an OS and {{kodi}} with an easy installer.&lt;br /&gt;
&lt;br /&gt;
{{main|KodiBuntu}}&lt;br /&gt;
{{#lst:KodiBuntu|intro}}&lt;br /&gt;
&lt;br /&gt;
= Installation from source =&lt;br /&gt;
If distribution packages are not available, or you need a newer version, or specific features enabled, then you will most likely need to compile from source. While compiling from source does not differ very much between distributions (except for installation of build dependencies), a few different guides are available in this wiki.&lt;br /&gt;
&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux from source code]]&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux on Debian/Ubuntu]] - This is a tutorial on how to compile and install {{kodi}} on Debian and Ubuntu.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[HOW-TO:Autostart XBMC for Linux]]&lt;br /&gt;
*[[JeOS implementations for Kodi]]&lt;br /&gt;
&amp;lt;!--{{mininav| [[Installing]] {{l2| [[Linux]] }} }}--&amp;gt;&lt;br /&gt;
* [[Linux FAQ]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Installation|Linux]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=113160</id>
		<title>HOW-TO:Install Kodi for Linux</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=113160"/>
		<updated>2016-01-13T21:41:32Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add the debian backports repository for jessie&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Official Team Kodi repositories =&lt;br /&gt;
&lt;br /&gt;
The installation instructions within this section reference repositories that are officially sanctioned by Team Kodi. For third party and unofficial build support, please see the section below.&lt;br /&gt;
&lt;br /&gt;
== Installing Kodi on Ubuntu-based distributions ==&lt;br /&gt;
See [[SSH]] or [http://help.ubuntu.com/community/UsingTheTerminal Click here to find out how to use the terminal.]&lt;br /&gt;
&lt;br /&gt;
Use the command line terminal and enter the following commands. Follow the prompts as you would any other software installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install software-properties-common&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#lst:Team XBMC PPA|repos}}&lt;br /&gt;
&lt;br /&gt;
=== Installing PVR Addons ===&lt;br /&gt;
The Linux release of Kodi doesn&#039;t include any PVR addons by default. To install a PVR addon, run the following command and replace the XXXXXX with the PVR addon of your choice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install kodi-pvr-XXXXXXX&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! PVR Addon !! Description&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-dev || Kodi Media Center (PVR Add-on Dev package)&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-argustv || Kodi PVR Addon Argustv&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-demo || Kodi PVR Demo Addon&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-dvbviewer || Kodi PVR Addon Dvbviewer&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-iptvsimple || Kodi PVR Iptv Addon&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-mediaportal-tvserver || Kodi PVR Addon Mediaportal Tvserver&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-mythtv || Kodi PVR Addon MythTv - Cmyth&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-nextpvr || Kodi PVR Addon NextPvr&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-njoy || Kodi PVR Addon Njoy&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-hts || Kodi PVR Addon TvHeadend Hts&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-vdr-vnsi || Kodi PVR Addon VDR Vnsi&lt;br /&gt;
|-&lt;br /&gt;
| kodi-pvr-vuplus || Kodi PVR Addon Vuplus&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Installing a development build ===&lt;br /&gt;
{{see also|Development builds}}&lt;br /&gt;
To install a beta/unstable version of {{kodi}} you must first add the unstable repository, then install XBMC. Use &amp;lt;code&amp;gt;ppa:team-xbmc/xbmc-nightly&amp;lt;/code&amp;gt; for nightly builds and &amp;lt;code&amp;gt;ppa:team-xbmc/unstable&amp;lt;/code&amp;gt; for [[beta]] builds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/xbmc-nightly&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that if you have any addons (such as PVR clients), these must be updated as well (they will not be updated automatically):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install kodi-pvr-mythtv&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Upgrading ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
To update Kodi when a new version is released, just do a general system/package or use the following commands in the terminal (or via [[SSH]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note|In some cases where additional packages are required, Kodi will fail to upgrade when using the upgrade commands as above. To install additional packages use the command below:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get dist-upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Downgrading to a stable version from a development version ===&lt;br /&gt;
If you install a nightly build or an unstable release and want to return to a stable release, follow these instructions:&lt;br /&gt;
&lt;br /&gt;
Find the current PPA you are using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-cache policy | grep team-xbmc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the unstable or nightly PPA where it says &#039;&#039;&#039;PPAHERE&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository -r ppa:PPAHERE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restore the stable version with the following commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi kodi-bin&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Downgrading between stable versions ===&lt;br /&gt;
{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
=== Uninstalling ===&lt;br /&gt;
If you need to remove and purge an application and finally removing/purging also the application configurations files, do so by using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi*&lt;br /&gt;
sudo apt-get purge kodi*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then remove the settings folder to remove all settings and library data. This will not delete any videos or music, but just the settings and library data itself:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.kodi/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.xbmc/ # for older versions before 14.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Third Party Repositories =&lt;br /&gt;
&amp;lt;!-- Please only list repos that use an internal ffmpeg library --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The instructions in this section are for unofficial Linux binaries that are un/semi supported by Team Kodi. Most of those binaries use system ffmpeg or even worse totally untested libav, which is not recommended for {{kodi}} as we support ffmpeg only.&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
&lt;br /&gt;
The installation if you are using Debian (Jessie), you can use the debian-backports repository.&lt;br /&gt;
&lt;br /&gt;
Add the following lines to your /etc/apt/sources.list file, as superuser (sudo)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# kodi repos&lt;br /&gt;
# starting with debian jessi, debian provides kodi via its backports repository&lt;br /&gt;
# remember: those packages are not supported by team kodi&lt;br /&gt;
deb http://http.debian.net/debian jessie-backports main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then, update APT and install Kodi.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enjoy your new Kodi.&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
Refer to [[HOW-TO:Install Kodi on Fedora 23 using RPMFusion packages]] for a guide showing how to install Fedora 23 and Kodi to create a quick-booting, standalone style of media player.&lt;br /&gt;
&lt;br /&gt;
== OpenELEC ==&lt;br /&gt;
{{main|OpenELEC}}&lt;br /&gt;
{{#lst:OpenELEC|intro}}&lt;br /&gt;
&lt;br /&gt;
== KodiBuntu ==&lt;br /&gt;
The installation instructions on this page are intended for people who already have a Linux-based OS setup, or wish to do their own installation of Linux. Alternatively you can try out [[KodiBuntu]], which will install both an OS and {{kodi}} with an easy installer.&lt;br /&gt;
&lt;br /&gt;
{{main|KodiBuntu}}&lt;br /&gt;
{{#lst:KodiBuntu|intro}}&lt;br /&gt;
&lt;br /&gt;
= Installation from source =&lt;br /&gt;
If distribution packages are not available, or you need a newer version, or specific features enabled, then you will most likely need to compile from source. While compiling from source does not differ very much between distributions (except for installation of build dependencies), a few different guides are available in this wiki.&lt;br /&gt;
&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux from source code]]&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux on Debian/Ubuntu]] - This is a tutorial on how to compile and install {{kodi}} on Debian and Ubuntu.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[HOW-TO:Autostart XBMC for Linux]]&lt;br /&gt;
*[[JeOS implementations for Kodi]]&lt;br /&gt;
&amp;lt;!--{{mininav| [[Installing]] {{l2| [[Linux]] }} }}--&amp;gt;&lt;br /&gt;
* [[Linux FAQ]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Installation|Linux]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Kodi_v15_(Isengard)_FAQ&amp;diff=96245</id>
		<title>Archive:Kodi v15 (Isengard) FAQ</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Kodi_v15_(Isengard)_FAQ&amp;diff=96245"/>
		<updated>2015-05-19T08:40:59Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* The &amp;quot;o&amp;quot; screen doesn&amp;#039;t show the video FPS anymore */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kodi FAQ}}&lt;br /&gt;
{{mininav| [[FAQs]] {{l2| [[Releases]] }} }}&lt;br /&gt;
{{Isengard box}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Frequently Asked Questions for upgrading to the upcoming Kodi v15 (codename Isengard) from a previous version. Includes how to enable some of the new features, where some controls got moved to, etc.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
{{-}}&lt;br /&gt;
== General FAQ ==&lt;br /&gt;
::{{big|&#039;&#039;See also: &#039;&#039;&#039;[[All platforms FAQ]]&#039;&#039;&#039; for an FAQ that applies to all versions of Kodi.&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
=== What is Kodi? What is Isengard? ===&lt;br /&gt;
:{{Main|Kodi name change FAQ|History of XBMC}}&lt;br /&gt;
:Kodi is the new name for XBMC media center. &amp;quot;Isengard&amp;quot; is the codename for version 15, just as &amp;quot;Gotham&amp;quot; was the codename for XBMC v13 and &amp;quot;Helix was the codename for Kodi v14&amp;quot;.  You will often see &amp;quot;v15&amp;quot; and &amp;quot;Isengard&amp;quot; used interchangeably in the community. It might be a little confusing with so many new names being used, but this is simply the new version of Kodi/XBMC. As long as you call it version 15/v15/Isengard, then everyone in the community will know what you are talking about.&lt;br /&gt;
&lt;br /&gt;
=== Changelog ===&lt;br /&gt;
:See: &#039;&#039;&#039;[[Kodi v15 (Isengard) changelog]]&#039;&#039;&#039; (and add-on developers should also see &#039;&#039;&#039;[[Isengard API changes]]&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
=== What are some of the noticeable new features? ===&lt;br /&gt;
:{{Main|New features|Kodi v15 (Isengard) changelog}}&lt;br /&gt;
:In addition to many &amp;quot;under the hood&amp;quot; improvements, some of the &#039;&#039;visible&#039;&#039; additions to v15 include:&lt;br /&gt;
:* Improved and expanded the internationalization and regional settings options in the GUI. {{highlight|bordered=yes| [[Settings/Appearance#International|Settings → Appearance → International]] }}&lt;br /&gt;
:* Added adaptive skipping/seeking through audio and video playback, also known as &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039;.&lt;br /&gt;
:* Added a universal &#039;&#039;&#039;[[skip steps|skip/seek step command]]&#039;&#039;&#039; to allow an unlimited number of specific time seeking buttons. e.g., a dedicated &amp;quot;small step forward&amp;quot; now possible.&lt;br /&gt;
:* Added a chapter selection window with visual thumbnails. See &#039;&#039;&#039;[[bookmarks and chapters]]&#039;&#039;&#039;.&lt;br /&gt;
:* &#039;&#039;&#039;[[Audio nodes]]&#039;&#039;&#039; for audio library customization.&lt;br /&gt;
:* Automatically jump to the first unwatched episode in a TV show. {{highlight|bordered=yes| [[Settings/Videos#Library|Settings → Videos → Library → &amp;quot;Select first unwatched TV season/episode&amp;quot;]] }}&lt;br /&gt;
:* &#039;&#039;&#039;[[Video navigation|&amp;quot;Hide watched&amp;quot;]]&#039;&#039;&#039; now works with non-library video files.&lt;br /&gt;
:* &#039;&#039;&#039;[[PVR]]&#039;&#039;&#039; add-ons can now auto configure using zeroconf when the PVR server supports it.&lt;br /&gt;
:* Add-ons can now add to the &#039;&#039;&#039;[[context menu]]&#039;&#039;&#039;.&lt;br /&gt;
:* Added [[Android]] HEVC/H.265 hardware video decoding. See &#039;&#039;&#039;[[Android hardware]]&#039;&#039;&#039;.&lt;br /&gt;
:* &#039;&#039;&#039;[[UPnP]]&#039;&#039;&#039; improvements including external subtitle support.&lt;br /&gt;
:* &#039;&#039;&#039;[[artwork|New season posters]]&#039;&#039;&#039; are now added automatically when updating existing TV shows.&lt;br /&gt;
:* Local translations are now &#039;&#039;&#039;[[:Category:Language add-ons|add-ons]]&#039;&#039;&#039; and can be updated with improvements more quickly.&lt;br /&gt;
:* The default touchscreen skin, re-Touched, now has &#039;&#039;&#039;[[PVR|PVR/Live TV]]&#039;&#039;&#039; support.&lt;br /&gt;
:* Improved &#039;&#039;&#039;[[add-on manager]]&#039;&#039;&#039; with better categorization that makes it easier to find and manage add-ons.&lt;br /&gt;
:* &#039;&#039;&#039;[[Kodi v15 (Isengard) changelog|...and many more]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Seeking/skip steps are different ===&lt;br /&gt;
:{{main|Skip steps}}&lt;br /&gt;
:{{#lst:Skip steps|intro}}&lt;br /&gt;
&lt;br /&gt;
=== SmallStepBack doesn&#039;t seem to work ===&lt;br /&gt;
: In &#039;&#039;&#039;[[Keymaps]]&#039;&#039;&#039; the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[action ID]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt;. Users with custom keymaps should apply this change as well. &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; will still work, but it will default to the first back step in &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== HOW-TO:Install languages offline ===&lt;br /&gt;
:{{main|HOW-TO:Install languages offline}}&lt;br /&gt;
: {{#lst:HOW-TO:Install languages offline|intro}}&lt;br /&gt;
&lt;br /&gt;
== New system requirements ==&lt;br /&gt;
:{{main|Supported hardware}}&lt;br /&gt;
&lt;br /&gt;
=== Android 4.2 required ===&lt;br /&gt;
:&#039;&#039;&#039;[[Android|Android 4.2]]&#039;&#039;&#039; is now the minimal supported version for Kodi to run on Android platform.&lt;br /&gt;
&lt;br /&gt;
=== iOS 5.1.1 required ===&lt;br /&gt;
:&#039;&#039;&#039;[[iOS|iOS 5.1.1]]&#039;&#039;&#039; is now the minimal supported version for Kodi to run on a &#039;&#039;&#039;&#039;&#039;jailbroken&#039;&#039;&#039;&#039;&#039; &amp;quot;iDevice&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X 10.7 required ===&lt;br /&gt;
:&#039;&#039;&#039;[[Mac OS X|Mac OS X 10.7]]&#039;&#039;&#039; is now the minimal supported version for Kodi to run on the Mac platform.&lt;br /&gt;
&lt;br /&gt;
=== OUYA needs OS upgrade to run v15 ===&lt;br /&gt;
:Due to the new system requirements and lack of needed updates from the OUYA company, OUYA&#039;s Android-based OS is unable to run Kodi v15. The OUYA hardware can still be used for Kodi, but will need a replacement for the OUYA OS. There is a work-in-progress guide in doing so at &#039;&#039;&#039;[[HOW-TO:Install CyanogenMod on OUYA]]&#039;&#039;&#039;. It might even be possible to still use OUYA games on CM 11, or at least have some kind of dual booting option for users who want to retain access to their old OUYA games.&lt;br /&gt;
&lt;br /&gt;
=== Apple TV 2 is no longer supported ===&lt;br /&gt;
:[[Apple TV 2]] is no longer supported as of v15. See &#039;&#039;&#039;[http://kodi.tv/farewell-to-future-appletv2-development/ here]&#039;&#039;&#039; for details.&lt;br /&gt;
&lt;br /&gt;
== Upgrading ==&lt;br /&gt;
{{warning|image_size=25px| If you are upgrading from XBMC v13 to Kodi v15 then please read &#039;&#039;&#039;[[Migration from XBMC to Kodi]]&#039;&#039;&#039; first.}}&lt;br /&gt;
&lt;br /&gt;
{{warning|image_size=25px| Always &#039;&#039;&#039;[[backup]]&#039;&#039;&#039; your settings before upgrading, just incase! }}&lt;br /&gt;
&lt;br /&gt;
=== How do I upgrade from v14 to v15? ===&lt;br /&gt;
:{{main|Installing}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;ANDROID USERS:&#039;&#039;&#039; &#039;&#039;&#039;{{color|red|Don&#039;t}}&#039;&#039;&#039; uninstall an earlier version of Kodi/XBMC before installing the new version. Uninstalling first would remove all of your settings. Just install the new version and it will replace the older version and retain your settings.&lt;br /&gt;
&lt;br /&gt;
* In most cases you can just &#039;&#039;&#039;[[Installing|install Kodi v15]]&#039;&#039;&#039; over Kodi v14. All your settings and library are saved and will continue to work in the new version. See &#039;&#039;&#039;[[Installing]]&#039;&#039;&#039; for specific install instructions.&lt;br /&gt;
&lt;br /&gt;
* Interface [[skins]] that worked in Kodi v14 should still work in v15.&lt;br /&gt;
&lt;br /&gt;
* Most other [[add-ons]] that worked in Kodi v14 should still work in v15.&lt;br /&gt;
&lt;br /&gt;
* If you have any issues (settings not being copied over, blank screens, etc) when updating from versions &#039;&#039;older&#039;&#039; than v14: remove the new version, install the older version of Kodi/XBMC from http://mirrors.kodi.tv/releases/ , and then upgrade to the next version. In other words, if you have v13, first update to v14, and then install v15.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MySQL ===&lt;br /&gt;
:{{main|MySQL/Upgrading}}&lt;br /&gt;
:As long as your MySQL server is set up to allow XBMC/Kodi to make new databases for the upgrade itself (see &#039;&#039;&#039;[[MySQL/Upgrading]]&#039;&#039;&#039;) then you don&#039;t need to do anything for upgrading a MySQL set up for Kodi. Even if you use &amp;quot;XBMC&amp;quot; in your advancedsettings.xml file, you can leave this the same and everything will still work.&lt;br /&gt;
&lt;br /&gt;
== Where did it this or that go? ==&lt;br /&gt;
&lt;br /&gt;
=== advancedsettings.xml changes ===&lt;br /&gt;
:{{main|advancedsettings.xml}}&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;hideallitems&amp;gt;&#039;&#039;&#039; - For both the &amp;lt;code&amp;gt;&amp;lt;videolibrary&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;musiclibrary&amp;gt;&amp;lt;/code&amp;gt; sections, this is replaced by a GUI option in v15 Isengard&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;SmallStepBackSeconds&amp;gt;&#039;&#039;&#039; - In v15 the &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; [[action ID]] has been replaced by &amp;lt;code&amp;gt;seek(-7)&amp;lt;/code&amp;gt; in default keymaps. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details. When the original &amp;lt;code&amp;gt;SmallStepBack&amp;lt;/code&amp;gt; action ID is used it defaults to the first backwards [[skip steps|additive seeking value]].&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;timeseekforward&amp;gt;/&amp;lt;timeseekbackward&amp;gt;&#039;&#039;&#039; - In v15 these tags are replaced by GUI options via [[skip steps|additive seeking]], which is configured in the GUI. See &#039;&#039;&#039;[[skip steps]]&#039;&#039;&#039; for details.&lt;br /&gt;
&lt;br /&gt;
=== Add-on manager: navigation changes ===&lt;br /&gt;
:{{main|Add-on manager}}&lt;br /&gt;
&lt;br /&gt;
:{{editor note|Need a blurb here about the add-on manager changes. Full details should then be updated to the main [[add-on manager]] page.}}&lt;br /&gt;
&lt;br /&gt;
=== Add-on manager: checking for new updates ===&lt;br /&gt;
:{{main|Add-on manager}}&lt;br /&gt;
&lt;br /&gt;
: In most Kodi interface skins, including the default skin Confluence, the button to check for new add-on updates has been moved to the lefthand sidebar menu. When you&#039;ve gone into {{highlight|bordered=yes| Settings → Add-ons }} you can press {{keypress|left}} (left) to show the menu and update button.&lt;br /&gt;
&lt;br /&gt;
=== Automatic crop black bars setting ===&lt;br /&gt;
:The video playback setting for cropping black bars has been removed due to various bugs. Team Kodi is looking for any developers who might be interested in creating replacement code and is willing to guide them. Please inquire on the &#039;&#039;&#039;[http://forum.kodi.tv/forumdisplay.php?fid=93 development forum]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== Apple File Protocol (AFP) has been removed ===&lt;br /&gt;
:Unfortunately, the AFP client has now been removed from Kodi. When AFP was first added to Kodi (then called XBMC) it was to help those Mac users who had issues with [[SMB]] sharing. However, the AFP client has always had major crashing issues, and the open source project behind it was no longer maintained. Team Kodi looked for a replacement and even tried to make our own replacement AFP client code, but in the end it didn&#039;t work out.&lt;br /&gt;
&lt;br /&gt;
:Users who have AFP file servers can use &#039;&#039;&#039;[[path substitution]]&#039;&#039;&#039; to change those URLs into another formatted protocol. We recommend using &#039;&#039;&#039;[[NFS]]&#039;&#039;&#039; or getting SMB to work by reading &#039;&#039;&#039;[[SMB/Mac]]&#039;&#039;&#039;. {{editor note|maybe make a mini-how-to for the path subs.}}&lt;br /&gt;
&lt;br /&gt;
=== HTSP has been removed ===&lt;br /&gt;
:&amp;lt;section begin=&amp;quot;HTSP&amp;quot; /&amp;gt;The HTSP protocol was a way for older versions of Kodi/XBMC to access [[Tvheadend]] before [[PVR]]/live TV features were officially added to Kodi/XBMC. Now that PVR/live TV has been supported since v12.0 (January 29th, 2013), and replaced the need for HTSP support, the HTSP protocol has finally been retired. Please see our &#039;&#039;&#039;[[PVR]]&#039;&#039;&#039; guide for details on how to set up the Tvheadend PVR add-on.&amp;lt;section end=&amp;quot;HTSP&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
:{{main|Troubleshooting}}&lt;br /&gt;
&lt;br /&gt;
=== What are some of the known issues in Isengard? ===&lt;br /&gt;
{{see|Common issues}}&lt;br /&gt;
&lt;br /&gt;
=== Where can I get more help? ===&lt;br /&gt;
:The &#039;&#039;&#039;[[FAQ|general and platform specific FAQs]]&#039;&#039;&#039;, the Kodi support forums: &#039;&#039;&#039;http://forum.kodi.tv&#039;&#039;&#039;,  and/or the &#039;&#039;&#039;[irc://irc.freenode.org/kodi #kodi]&#039;&#039;&#039; [[w:IRC|IRC]] chat channel on irc.freenode.org.&lt;br /&gt;
&lt;br /&gt;
=== The &amp;quot;o&amp;quot; screen doesn&#039;t show the video FPS anymore ===&lt;br /&gt;
:In the &#039;&#039;&#039;[[codecinfo]] window&#039;&#039;&#039;, the one that shows when you press {{keypress|o}} on a keyboard, the &#039;&#039;&#039;FPS&#039;&#039;&#039; data no longer reports &#039;&#039;video&#039;&#039; FPS.&lt;br /&gt;
&lt;br /&gt;
:In past versions of Kodi/XBMC (before v15) this value reported the estimated frames per second for the actual video itself, but was horribly inaccurate most of the time. Due to those inaccuracies, and various other code changes, the setting has been changed to only report what FPS the graphical interface (the buttons, menus, etc) is being rendered at. This doesn&#039;t actually mean anything for most users, but just understand that this no longer has anything to do with the video FPS.&lt;br /&gt;
&lt;br /&gt;
:If you want to check if your video playback is working as it should, watch the skip and drop values. If those stay low, nothing to worry about. Increasing skip value means, that video frames cannot be rendered in time. If you even see dropping, then it&#039;s our last resort, as the system seems to be too slow to play that video and we told the decoder to throw away complete frames. Also take care that the &#039;&#039;&#039;[[codecinfo]] window&#039;&#039;&#039; byself puts more pressure on the hardware. Open it from time to time only and compare the skip / drop values.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Upgrade FAQs}}&lt;br /&gt;
&lt;br /&gt;
{{Isengard updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Isengard|*]]&lt;br /&gt;
[[Category:Upgrade FAQ|15]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=93738</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=93738"/>
		<updated>2015-04-26T20:42:19Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Disadvantages of disabling remixing&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Beware: This will also forbid PA to remix e.g. FL,FR, LFE, FC, BL, BR into FL, FR, LFE, FC, SL, SR - which means you might loose your rears if your speaker layout is non standard.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Chromebox&amp;diff=84655</id>
		<title>Archive:Chromebox</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Chromebox&amp;diff=84655"/>
		<updated>2015-02-02T11:22:41Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: This was plain wrong. VAAPI does full range by default - so if full range is wanted - everything can stay is. Prefer Render needs only to be disabled when Limited Range is needed - but still setting the gpu to full range is needed!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox information appliance&lt;br /&gt;
| name = Chromebox&lt;br /&gt;
| image = [[File:Asus_chromebox.jpg|300px]]&lt;br /&gt;
| releasedate = 2014-03-14 (US)&lt;br /&gt;
| os =  Chrome OS&lt;br /&gt;
| cpu = Intel® Celeron 2955U/2957U &amp;lt;br /&amp;gt; Intel® Core i3-4010U &amp;lt;br /&amp;gt;  Intel® Core i7-4600U&lt;br /&gt;
| graphics  = Intel® HD Graphics/GT1 (Celeron) &amp;lt;br /&amp;gt; Intel® HD Graphics 4400/GT2 (i3/i7)&lt;br /&gt;
| storage = 16GB internal SSD (M.2 SATA)&lt;br /&gt;
| memory = 2 GB/4GB standard, 16GB max &amp;lt;br /&amp;gt;Dual Channel DDR3L-12800&lt;br /&gt;
| connectivity = HDMI, Displayport, Bluetooth 4.0, USB 3.0, Wifi 802.11 a/b/g/n, 10/100/1000 Ethernet, 2 -in-1 Card Reader, Audio jack&lt;br /&gt;
| dimensions = 4.88 x 4.88 x 1.65 inch (WxDxH)&lt;br /&gt;
}}&lt;br /&gt;
[[File:Asus_chromebox_ports.jpg|right|300px|Asus Chromebox Rear Ports|thumb]]&lt;br /&gt;
[[File:Asus_chromebox_ports_2.jpg|right|300px|Asus Chromebox Side/Front Ports|thumb]]&lt;br /&gt;
{{mininav|[[Devices]]|[[x86 hardware]]}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The Haswell Celeron-based Chromeboxes (Asus, HP, Acer, and Dell) are small lightweight x86-64 PCs that natively run ChromeOS, but with a few simple tweaks, have the capability to boot pretty much any Linux distro. They feature HDMI and DisplayPort video outputs (which can be used simultaneously), 4x USB 3.0 ports, gigabit Ethernet, an SD card slot, and built-in 802.11a/b/g/n wireless and Bluetooth 4.0. &lt;br /&gt;
&lt;br /&gt;
Capability wise, these ChromeBoxes fully support hardware accelerated H.264/MPEG-2/VC-1 video playback at up to 2160p24 (4K), proper 24p output, and full 7.1/HD audio bitstreaming (Linux only).  3D playback is supported, though the decoding of MVC streams (as used in 3D Blu-ray ISOs) is not, due to Windows/driver limitations; the hardware itself is capable.  Hi10 1080p playback is software decoded, but works well with few exceptions.  From a purely Kodi/media playback standpoint, there&#039;s no advantage to the Core i3/i7 models over the Celeron 2955U/2957U boxes.&lt;br /&gt;
&lt;br /&gt;
This page is complete guide to running Kodi (formerly XBMC) under Linux on the ChromeBox PCs.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|This page was originally written for the ASUS ChromeBox, but nearly all of these steps will be the same on the HP, Acer, and Dell Chromeboxes as well. The hardware is virtually identical: the Acer has a slightly different form factor; the HP model has only 1 dimm slot (vs the 2 the others have);  the fan of the HP is also a bit louder than the others (with the Asus being the most quiet); the Dell model has an Intel 802.11ac wifi module, whereas the rest have 802.11abgn.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Device Preparation ==&lt;br /&gt;
&lt;br /&gt;
=== Disable Firmware Write Protect ===&lt;br /&gt;
&lt;br /&gt;
Disabling the firmware write protect will allow us to shorten the developer boot screen timeout (from 30s to ~1s) in a dual boot configuration, and optionally boot directly to the legacy BIOS (and into Ubuntu or OpenELEC).  This is also necessary for standalone setups so that the stock firmware can be replaced with a custom build of [http://www.coreboot.org coreboot].&lt;br /&gt;
&lt;br /&gt;
With the device powered off and unplugged:&lt;br /&gt;
&lt;br /&gt;
# Remove (4) rubber feet from bottom of unit&lt;br /&gt;
# Remove (4) screws under rubber feet&lt;br /&gt;
# Separate two halves of unit.  Tip: partially insert the screw removed from the notched end, but do not re-thread it. Use it to help separate the two halves. &lt;br /&gt;
# Remove write-protect screw circled below:&lt;br /&gt;
#::Asus/HP/Dell: [[File:Inside-chrome1.jpg|300px]] &lt;br /&gt;
#::Acer: [[File:Acer wp screw.png|400px]]&lt;br /&gt;
#:: Note: the write-protect screw on the Acer model is under the heat pipe, which needs to be removed to access it.  Be sure to smooth out the heatsink grease/pad before reinstallation of the heat sink / heat pipe.&lt;br /&gt;
# Reassemble in reverse order&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; The write-protect screw should be left out permanently.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Put in Developer Mode ===&lt;br /&gt;
&lt;br /&gt;
Putting the ChromeBox in developer mode will allow you to access the underlying Linux operating system features necessary for installing/running Kodi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: This will erase all user data on the device.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
With the device powered off:&lt;br /&gt;
# Insert a paperclip into the hole left of the SD card slot and press the recovery button&lt;br /&gt;
#: [[File:Recoverybutton.png|200px]]&lt;br /&gt;
# Power on the device, then remove the paper clip&lt;br /&gt;
# When greeted with the recovery screen, press [CTRL-D] to enter developer mode&lt;br /&gt;
# Press the recovery button (with paperclip) to confirm.  &lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
After confirming, the device will reboot and wipe any existing user data - this will take ~5 minutes.  Afterwards, the ChromeBox will be in developer mode (as opposed to standard/verified boot mode), and the developer boot screen will be shown at each boot.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:ChromeBox_dev_boot.jpg|400px]]&lt;br /&gt;
&lt;br /&gt;
The developer boot screen, shown above, has a warning about OS verification being off.  &#039;&#039;&#039;Do not hit [SPACE]&#039;&#039;&#039; to re-enable OS verification, as it will return the device from developer mode to standard/verified boot mode.  The ChromeBox must permanently remain in developer mode, else you will potentially have to redo the setup from the beginning.  The developer mode boot screen has a ~30s delay, followed by two beeps, before booting.  You can skip the delay by pressing [CTRL-D] to immediately boot into ChromeOS.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform a Factory Reset ===&lt;br /&gt;
&lt;br /&gt;
A factory reset is not needed for a standalone setup, but must be performed prior to any dual-boot installation.&lt;br /&gt;
&lt;br /&gt;
Google&#039;s recovery tool seems to be picky about what kind/size of USB/SD media you use.  I&#039;ve had the best luck with 4GB/8GB media, but YMMV.&lt;br /&gt;
Anecdotally, creating the recovery media from within ChromeOS seems to be the most reliable method.&lt;br /&gt;
&lt;br /&gt;
# Create recovery media using step 2 of Google&#039;s instructions here: https://support.google.com/chromebook/answer/1080595?hl=en or use the [https://chrome.google.com/webstore/detail/chromebook-recovery-utili/jndclpdbaamdhonoechobihbbiimdgai?hl=en ChromeBook Recovery Utility from the Chrome web store].&lt;br /&gt;
&lt;br /&gt;
# With the device powered off, use a paperclip to press the Recovery button and power on the device&lt;br /&gt;
# Insert the recovery media (USB or SD) when prompted&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Note that this will re-partition the internal hard drive and restore the original copy of ChromeOS, erasing anything else on the drive.  The ChromeBox will still be left in developer mode, and if you changed the Boot Options they will still be set - so be sure to reset them back to the &#039;ChromeOS + 30s default&#039; option &#039;&#039;&#039;before&#039;&#039;&#039; performing a factory reset.  If you forget to do that, you&#039;ll need to press [CTRL-D] on the developer boot screen (or before the legacy boot/SeaBIOS boot screen) in order to boot ChromeOS after performing the recovery.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If you&#039;re having trouble creating the recovery media using Google&#039;s recovery tool above, you can manually download the recovery image and write it to a USB stick:&lt;br /&gt;
:*Download Recovery image: &lt;br /&gt;
:*:Asus: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_6158.76.0_panther_recovery_stable-channel_mp.bin.zip&lt;br /&gt;
:*: HP: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_6158.76.0_zako_recovery_stable-channel_mp-v2.bin.zip&lt;br /&gt;
:*:Acer: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_6158.76.0_mccloud_recovery_stable-channel_mp.bin.zip&lt;br /&gt;
:*:Dell: https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_6158.76.0_tricky_recovery_stable-channel_mp.bin.zip&lt;br /&gt;
:* Download Win32 Disk Imager: http://sourceforge.net/projects/win32diskimager/&lt;br /&gt;
:* Unzip the recovery image; the file should be ~1.5 GB&lt;br /&gt;
:* Rename the recovery image extension from .bin to .img&lt;br /&gt;
:* Write the image to your USB media using Win32 Disk Imager&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setup, Installation, Configuration, and Updating ==&lt;br /&gt;
&lt;br /&gt;
=== OS and Kodi Installation ===&lt;br /&gt;
Kodi can be installed on the ChromeBox in a variety of ways.  The two most common are via OpenELEC or Ubuntu+Kodi, in either a standalone or dual boot configuration.  This is accomplished via the ChromeBox E-Z Setup script, which must be run (at least initially) from ChromeOS.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
The EZ setup script will facilitate everything needed to install either a dual boot setup, or install a custom firmware which allows the installation of any Linux-based OS in standalone mode.&lt;br /&gt;
&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
To run the ChromeBox E-Z Setup script, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
# Power on and boot to ChromeOS.  Do not log in, but ensure a network connection is established.&lt;br /&gt;
# Hit CTRL-ALT-F2 to open command prompt&lt;br /&gt;
# Login with user chronos (no password required)&lt;br /&gt;
# Download and run the ChromeBox setup script with the commands: &lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;curl -L -O http://goo.gl/3Tfu5W&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo bash 3Tfu5W &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Full instructions and a detailed explanation of the script&#039;s functions and usage can be found at the following forum thread: http://forum.kodi.tv/showthread.php?tid=194362&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If installing a Linux-based OS other than OpenELEC, you may need to manually update the kernel for optimal operation.  Kernel version 3.14 is the minimum recommended; 3.16 has a fix for most MCE remote controls, and 3.18.4 has a fix for an Intel GPU bug that can cause hanging during video playback.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dual Boot OS Selection ===&lt;br /&gt;
When dual booting with ChromeOS and OpenELEC/Ubuntu, due to the ChromeBox&#039;s firmware setup, there is no conventional boot menu.  Instead, the OS selection is made via keyboard shortcuts on the developer mode boot screen (shown above): [CTRL-D] boots directly ChromeOS; [CTRL-L] boots the legacy BIOS (and whatever secondary OS is installed).  The default OS and boot timeout are set using the &#039;Set Boot Options&#039; feature of the EZ Setup Script.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Updating Kodi ===&lt;br /&gt;
&lt;br /&gt;
==== OpenELEC ====&lt;br /&gt;
&lt;br /&gt;
The Chromebox is, at its core, a standard x86_64 Intel system (albeit, like the NUC, with an ultra low power processor). The standard OpenELEC builds - labeled &#039;Generic x86_64&#039; - work perfectly well, and it is recommended to use OpenELEC&#039;s auto-update feature (System --&amp;gt; OpenELEC --&amp;gt; System --&amp;gt; Automatic Updates: auto).  If that doesn&#039;t work for some reason, or you want to update to a nightly/beta/RC build, you can manually update using the instructions on the [http://wiki.openelec.tv/index.php?title=Updating_OpenELEC OpenELEC wiki].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Recommended Settings ===&lt;br /&gt;
&lt;br /&gt;
==== Kodi General ====&lt;br /&gt;
&lt;br /&gt;
* System--&amp;gt;Settings--&amp;gt;System: Settings Level:&#039;&#039;&#039;Expert&#039;&#039;&#039;&lt;br /&gt;
* System--&amp;gt;Settings--&amp;gt;System--&amp;gt;Video Output: Vertical blank sync:&#039;&#039;&#039;Enabled during video playback&#039;&#039;&#039; (or just &#039;Enabled&#039; if you experience UI tearing)&lt;br /&gt;
* System--&amp;gt;Settings--&amp;gt;System--&amp;gt;Power Saving: Shutdown function:&#039;&#039;&#039;Suspend&#039;&#039;&#039; (sets IR power toggle to suspend)&lt;br /&gt;
* System--&amp;gt;Settings--&amp;gt;Videos--&amp;gt;Acceleration: Use VC-1 VAAPI:&#039;&#039;&#039;Selected&#039;&#039;&#039; (de-select if you have interlaced VC-1 content)&lt;br /&gt;
&lt;br /&gt;
==== OpenELEC Specific ====&lt;br /&gt;
&lt;br /&gt;
* System--&amp;gt;OpenELEC--&amp;gt;System: Automatic Updates:&#039;&#039;&#039;Auto&#039;&#039;&#039;&lt;br /&gt;
* System--&amp;gt;OpenELEC--&amp;gt;Network: Wait for network before starting Kodi:&#039;&#039;&#039;Selected&#039;&#039;&#039; (if using a external mysql database)&lt;br /&gt;
* System--&amp;gt;OpenELEC--&amp;gt;Services: Enable Bluetooth:&#039;&#039;&#039;Selected&#039;&#039;&#039; (if using Bluetooth)&lt;br /&gt;
* System--&amp;gt;Settings--&amp;gt;Videos--&amp;gt;Acceleration: Use SW Filter for VAAPI:&#039;&#039;&#039;Selected&#039;&#039;&#039;  (OE 4.x only)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Known issues + Fixes/Workarounds ==&lt;br /&gt;
&lt;br /&gt;
Installation, Dual Booting, USB booting:&lt;br /&gt;
:* Some keyboards seem to have issues working on the ChromeOS developer boot screen (before the OS is booted), and therefore cannot be used to setup/install Kodi on a ChromeBox, or to select between OSes in a dual boot setup.  The Logitech K400 is one of these, so use another keyboard to install if yours doesn&#039;t appear to be working.  Bluetooth keyboards &#039;&#039;&#039;will not work&#039;&#039;&#039; due to the fact that they require the OS to be loaded in order to connect to the ChromeBox.&lt;br /&gt;
:* On the SeaBIOS boot screen, some users may have issues bringing up the boot menu: either the &#039;Press ESC for boot menu&#039; text never appears, or it appears, but pressing [ESC] doesn&#039;t do anything; both result in the box trying (and failing) to boot the internal hard drive.&lt;br /&gt;
:*: If you see the &#039;Press ESC for boot menu&#039; text but pressing it doesn&#039;t work, then the issue is your keyboard, so try using a different one.&lt;br /&gt;
:*: If you &#039;&#039;&#039;don&#039;t&#039;&#039;&#039; see the &#039;Press ESC for boot menu&#039; text, then the issue is with your boot media, so try using a different USB flash drive.&lt;br /&gt;
:* An effort is underway on the forums to catalog which keyboards work (and which do not); the thread (which is being updated regularly) can be found here: http://forum.kodi.tv/showthread.php?tid=211797&lt;br /&gt;
:* Some TVs/displays are not able to show the developer boot screen due to the resolution it uses (1024x768 @ 60Hz), in which case you&#039;ll need to use a different display to complete the initial setup steps.&lt;br /&gt;
:* Many TVs have overscan enabled by default, which will cut off the text display of the ChromeOS shell.  Be sure to set your TV to a mode which does not overscan (varies by manufacturer - often called &#039;just scan&#039;, &#039;exact&#039; &#039;pixel perfect&#039;).&lt;br /&gt;
:* Using a &#039;&#039;&#039;passive&#039;&#039;&#039; DisplayPort--&amp;gt;HDMI cable/adapter is often problematic, and can cause the video output drop out after booting.  Use either a straight DP cable or straight HDMI/HDMI--&amp;gt;DVI cable; if you have to use a DisplayPort--&amp;gt;HDMI adapter, be sure it is the &#039;&#039;&#039;active&#039;&#039;&#039; type.&lt;br /&gt;
&lt;br /&gt;
Color Range Selection:&lt;br /&gt;
:* This topic is a bit of a minefield, but [http://forum.kodi.tv/showthread.php?tid=176718&amp;amp;pid=1756704#pid1756704 this post on the forums is a good read].  It&#039;s for a NUC, but it applies to the ChromeBox as well. On some displays, the display and Intel video driver are not able to automatically sync up (in terms of which color space is being used), leading to incorrect black/white levels.  You can download/play the following video clip to test: [https://dl.dropboxusercontent.com/u/98309225/1-Grayscale%20Ramp%20.mp4 Grayscale Ramp test] (file courtesy of avsforum.com).  The correct output will show the grayscale ramp having a smooth transition (rather than stair steps) from 16-235, with solid black/white past the dots at the ends.  See: [https://dl.dropboxusercontent.com/u/98309225/grayscale_ramp_good.png correct grayscale ramp].&lt;br /&gt;
:*: Solution: add the following line to the autostart script and reboot the device:&lt;br /&gt;
:*::&amp;lt;nowiki&amp;gt;xrandr --output HDMI1 --set &amp;quot;Broadcast RGB&amp;quot; &amp;quot;Full&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:*: Use &#039;DP1&#039; instead of &#039;HDMI1&#039; if connected via the DisplayPort output. See [http://wiki.openelec.tv/index.php?title=Autostart.sh the OpenELEC Autostart wiki page] for more info.  &lt;br /&gt;
:*: You may also need to select the Kodi option &#039;Used limited color range&#039; under Settings--&amp;gt;System--&amp;gt;Video Output.  Use the video clip and image above as a guide.&lt;br /&gt;
:*: &#039;&#039;&#039;Note:&#039;&#039;&#039; If you want to output Limited color range, you are required to do the following setting as well:  Settings--&amp;gt;Video--&amp;gt;Acceleration--&amp;gt;Prefer VAAPI Rendering: disabled/de-selected. &lt;br /&gt;
&lt;br /&gt;
No Audio and/or corrupted video on Wakeup from Suspend:&lt;br /&gt;
:* Some displays/AVRs don&#039;t successfully handshake when resuming from suspend, leading to no audio output and/or corrupted video output until the Chromebox is rebooted.&lt;br /&gt;
:*: Solution: If using a universal remote, such as a Harmony, ensure that you are turning off (suspending) the ChromeBox &#039;&#039;&#039;before&#039;&#039;&#039; your AVR/TV, and turning it on (resuming) &#039;&#039;&#039;after&#039;&#039;&#039; the AVR/TV.&lt;br /&gt;
:*: Solution: download/enable a script that will force the ChromeBox to reset the audio/video output on resume from suspend.  Use an SSH client like Putty to connect to the ChromeBox, and execute the following commands:&lt;br /&gt;
:*::&amp;lt;nowiki&amp;gt;mkdir -p /storage/.config/sleep.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:*::&amp;lt;nowiki&amp;gt;cd /storage/.config/sleep.d&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:*::&amp;lt;nowiki&amp;gt;curl -L -O https://dl.dropboxusercontent.com/u/98309225/01-cbox_resume.power&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:*::&amp;lt;nowiki&amp;gt;chmod +x 01-cbox_resume.power&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:*: Then reboot the ChromeBox&lt;br /&gt;
:*: Note: If connected via the DisplayPort output, use a text editor (eg, nano) to edit the script and replace references to &#039;HDMI1&#039; with &#039;DP1&#039;.&lt;br /&gt;
&lt;br /&gt;
Video Playback:&lt;br /&gt;
:* An Intel Linux video driver bug ( https://bugs.freedesktop.org/show_bug.cgi?id=78960 ) causes intermittent freezes/pauses. &lt;br /&gt;
:*: Workaround: (OpenELEC 4.x) enable the &#039;Use SW filter for VAAPI&#039; option Settings--&amp;gt;Video--&amp;gt;Acceleration.&lt;br /&gt;
:*: &#039;&#039;&#039;Note:&#039;&#039;&#039; this bug is fixed in OpenELEC 5.0.0, but currently requires an updated or patched kernel for other Linux distros.  Update to kernel 3.18.4 or later, or see this forum post for a pre-patched kernel: http://forum.kodi.tv/showthread.php?tid=194362&amp;amp;pid=1877749#pid1877749&lt;br /&gt;
&lt;br /&gt;
Remote Controls:&lt;br /&gt;
:* Most MCE IR receivers work properly now when connected to USB3 ports under Linux with kernel 3.16+ (older kernels will require a patch/fix); OpenELEC 4.0+ is fully up to date.  The version of Ubuntu installed by the ChromeBox EZ setup script in a dual boot setup also includes an up-to-date kernel.  However, some buggy MCE receivers still do not work properly (at all), as noted below in the Hardware/Remotes section.  &lt;br /&gt;
&lt;br /&gt;
:: For standalone Ubuntu (or any other distro) installs, you will need to update to a 3.16 (or later) kernel.&lt;br /&gt;
&lt;br /&gt;
Power Management:&lt;br /&gt;
:* Suspend/resume is generally problematic with the stock firmware (dual boot setups - OpenELEC will reboot on resume), but works reliably in standalone setups running the coreboot firmware.  Resume via IR remote (USB) and wake-on-lan (eg, via YATSE) work perfectly well.&lt;br /&gt;
:* Note: WOL only works when the ChromeBox is suspended, not fully powered off, and requires the MAC address of the box to be set (eg, in YATSE)&lt;br /&gt;
&lt;br /&gt;
Windows 8 (unsupported):&lt;br /&gt;
:* HDMI audio doesn&#039;t work, at all, even with the proper drivers loaded.  Either use the analog audio output, an external USB sound card, or run Linux.&lt;br /&gt;
:* Bluray disc playback doesn&#039;t work, as PowerDVD and WinDVD report that the video drivers are not supported, even though they report the hardware is capable.&lt;br /&gt;
:* Update: now fixed in 2015/01/29 coreboot firmware. The CPU fan will shut down at boot and not come back on unless a utility like SpeedFan is used to start it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linux Video Tearing:&lt;br /&gt;
:* Some users may experience screen tearing under the Linux desktop, or when watching video (e.g., Netflix).  The fix for this is [https://wiki.archlinux.org/index.php/Intel_Graphics#Tear-free_video documented on the Arch Wiki], and copied here for convenience.&lt;br /&gt;
&lt;br /&gt;
:: from a terminal/shell prompt:&lt;br /&gt;
:::&amp;lt;nowiki&amp;gt;sudo nano /usr/share/X11/xorg.conf.d/20-intel.conf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: copy/paste the following:&lt;br /&gt;
&lt;br /&gt;
:::&amp;lt;nowiki&amp;gt;Section &amp;quot;Device&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::::&amp;lt;nowiki&amp;gt;Identifier  &amp;quot;Intel Graphics&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::::&amp;lt;nowiki&amp;gt;Driver      &amp;quot;intel&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
::::&amp;lt;nowiki&amp;gt;Option      &amp;quot;TearFree&amp;quot;    &amp;quot;true&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:::&amp;lt;nowiki&amp;gt;EndSection&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:: then save, exit, and reboot.&lt;br /&gt;
&lt;br /&gt;
High CPU at Idle:&lt;br /&gt;
:* When running a Linux setup, there is high idle CPU usage with some older kernels which do not fully support the Haswell platform; be sure to update to the latest kernel available (at &#039;&#039;&#039;least&#039;&#039;&#039; 3.14). On some (mostly dual boot) setups, it may also be necessary to add the following kernel boot parameters to disable the TPM: tpm_tis.force=1 tpm_tis.interrupts=0&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recommended Accessories / Hardware Upgrades ==&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;RAM:&#039;&#039;&#039;&lt;br /&gt;
: The ChromeBox has two (2) 204-Pin SODIMM slots (HP models only have one), which accept 1.35V DDR3-1600 (PC3-12800) modules.  Known working modules include:&lt;br /&gt;
:* Crucial CT25664BF160B (2GB, 1.35v/1.5v)&lt;br /&gt;
:* Crucial CT2CP51264BF160B (8GB [4GB x2] 1.35v/1.5v)&lt;br /&gt;
:* Crucial CT2KIT102464BF160B (16GB [8GB x2] 1.35v/1.5v)&lt;br /&gt;
:* Hynix HMT351S6CFR8C-PB (2GB, OEM)&lt;br /&gt;
:* HP H6Y75AA (4GB, 1.35v)&lt;br /&gt;
: &amp;lt;br /&amp;gt;&lt;br /&gt;
: Crucial also has a list of 1.35v-only compatible modules here: http://www.crucial.com/usa/en/compatible-memory-for/ASUS/chromebox&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;SDD:&#039;&#039;&#039;&lt;br /&gt;
: The ChromeBox uses a single M.2 NGFF SATA III SSD (42mm); stock is a 16GB SanDisk unit.  Compatible upgrades include:&lt;br /&gt;
:* MyDigitalSSD MDM242-SC2-128 (128GB)&lt;br /&gt;
:* MyDigitalSSD MDM242-SB-064 (64GB)&lt;br /&gt;
:* MyDigitalSSD MDM242-SB-032 (32GB)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Remote Controls:&#039;&#039;&#039;&lt;br /&gt;
: The ChromeBox does not have a built-in IR sensor, and must therefore use a USB IR receiver (or a Bluetooth remote).  In general, any remote/receiver listed on the Kodi wiki as fully working under Linux should be fine, though some have issues when connected to USB3 ports.  A Microsoft eHome compatible remote/receiver is one of the most compatible, subject to the limitations listed in the &#039;Known Issues&#039; section above.  Specific models tested as working include:&lt;br /&gt;
:* [http://flirc.tv/ Flirc]&lt;br /&gt;
:*: Flirc users need to set the &amp;quot;sleep detection&amp;quot; bit and program a wake key when setting it up, otherwise absolutely any IR signal will wake up your box from sleep.&lt;br /&gt;
:* HP IR receiver model 5188-1667 (MCE/eHome)&lt;br /&gt;
:* HP IR receiver model 5187-4593 (MCE/eHome)&lt;br /&gt;
:* Microsoft IR receiver model 1040 (MCE/eHome)&lt;br /&gt;
:* Sony IR receiver model PCVA-IR8U (MCE/eHome) &lt;br /&gt;
:* HP IR remote/receiver kit [http://www.amazon.com/dp/B00AYE6JDO/ OVU400102/71] (MCE/eHome, includes 5187-4593 receiver)&lt;br /&gt;
:* Ortek IR remote/receiver kit [http://www.amazon.com/dp/B00224ZDFY/ VRC-1100] (MCE clone, receiver also works well w/Logitech Harmony remotes)&lt;br /&gt;
:* Rosewill RHRC-11002 remote (MCE clone, includes receiver model IR605)&lt;br /&gt;
:* Rosewill WMC RRC-127 remote/receiver&lt;br /&gt;
:* Microsoft XBOX 360 IR remote (with MCE/eHome receiver or Flirc)&lt;br /&gt;
:* Microsoft XBOX One IR remote (with MCE/eHome receiver or Flirc)&lt;br /&gt;
:* Logitech Harmony remotes (programmed as Microsoft Media Center Extender - not as a keyboard - with MCE/eHome receiver; not recommended for use with a Flirc)&lt;br /&gt;
:* Sony Playstation 3 (PS3) Bluetooth remote (works with built-in BT receiver; press/hold START + ENTER to pair)&lt;br /&gt;
:* Logitech Harmony Smart Hub (via Bluetooth, works with built-in BT receiver, [http://forum.kodi.tv/showthread.php?tid=194362&amp;amp;pid=1843165#pid1843165 see forum post here])&lt;br /&gt;
:* Measy RC11 Android Monitor Wireless Keyboard Air Mouse Remote Controller With Gyroscope (cannot wake up Chromebox but works otherwise nicely, with keys as well as with mouse pointer at both OpenELEC and ChromeOS)&lt;br /&gt;
:* Amazon FireTV / Fire Stick remotes (Bluetooth)&lt;br /&gt;
:NOTE: If you need to re-map remote buttons, you can use the [[Add-on:Keymap Editor|Keymap Editor Add-on]] to do so.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Currently non-working&#039;&#039;&#039;:&lt;br /&gt;
:* HP IR receiver model 5070-2584  (MCE/eHome)&lt;br /&gt;
:* AVS Gear HA-IR01SV (MCE/eHome)&lt;br /&gt;
:* All Topseed manufactured MCE IR receivers&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;USB Audio Devices&#039;&#039;&#039;:&lt;br /&gt;
:As the ChromeBox only has HDMI and analog audio outputs, if you need SPDIF, then either a converter or external/USB device must be used.  The following devices have been tested/confirmed working:&lt;br /&gt;
:* [http://www.amazon.com/gp/product/B0036VO4X4/ Turtle Beach Audio Advantage Micro II ]  (plug/play in both OpenELEC and Win8.1)&lt;br /&gt;
:* ASUS Xonar U3 USB (OpenELEC: requires un-muting the SPDIF line, see [http://openelec.tv/forum/41-supported-hardware/71023-asus-xonar-u3-usb-soundcard this forum post])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== Dual Booting ===&lt;br /&gt;
&lt;br /&gt;
The most common issue with dual boot setups is being stuck on the black SeaBIOS boot screen, with the &amp;quot;booting from hard disk&amp;quot; text displayed.  99% of the time, this is due to not having performed a factory reset using the recovery media, [[Chromebox#Perform_a_Factory_Reset|as listed in the Device Prep section above]].  Simply perform the factory reset, then re-run the dual boot setup using the script as before.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== OpenELEC ===&lt;br /&gt;
&lt;br /&gt;
==== Install Media Creation ====&lt;br /&gt;
&lt;br /&gt;
If you&#039;re looking to run a standalone setup, and the install media created by the script doesn&#039;t work (or you forget to create it before rebooting), then you can simply download the latest stable version (or beta/RC if you&#039;d like) from [http://openelec.tv/get-openelec/download/viewcategory/8-generic-builds OpenELEC&#039;s website here].  The ChromeBox runs the &#039;Generic x86-64&#039; version of OpenELEC, and it&#039;s recommended that you download the disk image version, and create the install media, as per the instructions [http://wiki.openelec.tv/index.php/HOW-TO:Installing_OpenELEC/Creating_The_Install_Key#tab=DiskImage on the OpenELEC wiki].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Misc ====&lt;br /&gt;
If the system isn&#039;t shutdown cleanly, sometimes a filesystem check (fsck) will be automatically performed.  In some cases, the automatic repair is unsuccessful, and an error will show:&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;***Error in check_disks: could not repair filesystem, dropping to debug shell, try to run &#039;fsck&#039; manually: ***&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;### Starting debugging shell... type exit to quit ###&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;sh: can&#039;t access tty; job control turned off&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
::&amp;lt;nowiki&amp;gt;#_&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
In this case, simply run fsck manually as instructed, using the following commands, hitting [enter] after each:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
For a standalone setup:&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;fsck /dev/sda1&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;fsck /dev/sda2&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
For a dual-boot setup:&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;fsck /dev/sda6&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
:&amp;lt;nowiki&amp;gt;fsck /dev/sda7&amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
After the fsck is run, type &#039;reboot&#039; then hit [enter] and the system should boot normally.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Firmware/BIOS Updating ==&lt;br /&gt;
&lt;br /&gt;
The ChromeBox&#039;s firmware consists of two main parts: the firmware itself (coreboot), and the Legacy BIOS (SeaBIOS).  Users running a dual-boot configuration only need be concerned with updating the Legacy BIOS portion.  Users running a standalone setup should update the custom coreboot firmware only, as it already contains an updated SeaBIOS payload, which is not able to be updated separately.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Updating the Legacy BIOS ===&lt;br /&gt;
&lt;br /&gt;
Dual-boot users should simply boot to ChromeOS and re-download/re-run the setup script, choosing the &#039;&#039;&#039;Update Legacy BIOS&#039;&#039;&#039; option under the Dual Boot heading.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Updating Coreboot ===&lt;br /&gt;
&lt;br /&gt;
Standalone users should also re-download/re-run the setup script, but instead choosing the &#039;&#039;&#039;coreboot firmware install/update&#039;&#039;&#039; option under the Standalone heading.  As of v3.0, the script can be run under any version of Linux with a full bash shell. As OpenELEC does not have a full bash shell, OE users will need to use the standalone firmware update script, as described in [http://forum.kodi.tv/showthread.php?tid=194362 this forum post].&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Restoring the Stock Firmware ===&lt;br /&gt;
If you have used the ChromeBox Setup Script&#039;s Standalone setup option, or otherwise manually updated the ChromeBox&#039;s firmware with a custom coreboot build, it is necessary to restore the stock firmware before [[Chromebox#Perform_a_Factory_Reset|performing a factory reset]] to re-load ChromeOS.&lt;br /&gt;
&lt;br /&gt;
In order to do this, we will create a bootable USB stick with ChromiumOS (the open-source version of ChromeOS) and use that to re-flash the stock firmware, which you backed up before flashing the Coreboot firmware.  If you didn&#039;t make a backup, we can use a copy extracted from Google&#039;s recovery image, but an actual backup is preferred.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Create ChromiumOS USB Stick&lt;br /&gt;
#:* Download the latest AMD64OS daily build from http://arnoldthebat.co.uk/wordpress/chromium-os/.  Be sure it&#039;s the 64-bit (AMD64OS) version, and the image version (.img.7z) and not the virtual machine version (.vdi.7z).  Example: Camd64OS-20140527010101.img.7z&lt;br /&gt;
#:* Follow the instructions at the link above to extract and copy the image onto a USB disk.  You will need at least a 4GB drive, and the contents of it will be erased.  Do &#039;&#039;&#039;NOT&#039;&#039;&#039; use the same USB stick that you used for your firmware backup&lt;br /&gt;
# Get a ChromiumOS Shell Prompt&lt;br /&gt;
#:* Connect the ChromiumOS USB stick to the ChromeBox, power on, and select the USB stick from the boot menu.  Boot into ChromiumOS&lt;br /&gt;
#:* Open a shell the same way as in ChromeOS: [CTRL]-[ALT]-[F2] and login as user &#039;chronos&#039; with password &#039;password&#039;&lt;br /&gt;
# Copy firmware backup file&lt;br /&gt;
#:* If you have your firmware backup on USB, connect it now, then run the following commands from the shell prompt&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;mkdir /tmp/usb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;sudo mount /dev/sdc /tmp/usb (If this fails, use /dev/sdc1 instead of /dev/sdc)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;cp /tmp/usb/stock-firmware.rom ./&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;sudo umount /tmp/usb&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:* If you don&#039;t have a firmware backup, then run the following command to download one extracted from the recovery image&lt;br /&gt;
#:*:(Asus) &amp;lt;nowiki&amp;gt;curl -L -o stock-firmware.rom https://db.tt/sLQL9i1p&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:( HP )  &amp;lt;nowiki&amp;gt; curl -L -o stock-firmware.rom https://db.tt/8NmzlrZ6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:(Acer)  &amp;lt;nowiki&amp;gt; curl -L -o stock-firmware.rom https://db.tt/Nh5EeEti&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*:(Dell)  &amp;lt;nowiki&amp;gt; curl -L -o stock-firmware.rom https://db.tt/IXLtQ097&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Restore stock firmware&lt;br /&gt;
#:* After completing the above, then run the following commands from the shell prompt&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;sudo flashrom -w stock-firmware.rom&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:*Assuming it is successful, then:&lt;br /&gt;
#:*:&amp;lt;nowiki&amp;gt;sudo poweroff&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can now remove the ChromiumOS USB drive (and firmware backup USB drive).  Proceed to [[ASUS_Chromebox#Perform_a_Factory_Reset|Perform_a_Factory_Reset]] above to restore/reload ChromeOS.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:HTPC]]&lt;br /&gt;
[[Category:x86]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=84085</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=84085"/>
		<updated>2015-01-15T10:26:35Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Transition from XBMC to Kodi&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when Kodi is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows Kodi playback of video or audio to be paused in order to run a game, Skype or similar. Kodi is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within Kodi, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device Kodi required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later (named Kodi since 14 &#039;Helix&#039;) we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in Kodi when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the Kodi implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode Kodi must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by Kodi to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by Kodi, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in Kodi ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| Kodi Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within Kodi will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|Kodi Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kodi will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside Kodi, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination Kodi will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your Kodi computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with Kodi.&lt;br /&gt;
* You use Kodi in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, Kodi audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use Kodi as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that Kodi chooses, might be busy or even might vanish while you are using Kodi, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start Kodi from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA Kodi &amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in Kodi. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=84084</id>
		<title>HOW-TO:Install Kodi for Linux</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Install_Kodi_for_Linux&amp;diff=84084"/>
		<updated>2015-01-15T07:30:54Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Make clear what we support&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Installing]] {{l2| [[Linux]] }} }}&lt;br /&gt;
{{see also|Linux FAQ}}&lt;br /&gt;
&lt;br /&gt;
These are instructions for people who already have a Linux-based OS setup, or wish to do their own installation of Linux.  Alternatively you can try out [[XBMCbuntu]], which will install both an OS and {{kodi}} with an easy installer.&lt;br /&gt;
&lt;br /&gt;
{{Kodi migration note}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Official Team Kodi repositories =&lt;br /&gt;
&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
;Simple Install Instructions&lt;br /&gt;
&lt;br /&gt;
{{note|1=[http://help.ubuntu.com/community/UsingTheTerminal Click here to find out how to use the terminal.]}}&lt;br /&gt;
&lt;br /&gt;
Use the command line terminal and enter the following commands. Follow the prompts as you would any other software installation.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install python-software-properties pkg-config&lt;br /&gt;
sudo apt-get install software-properties-common&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get install kodi &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{#lst:Team XBMC PPA|repos}}&lt;br /&gt;
&lt;br /&gt;
=== Upgrading ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
To update XBMC/Kodi when a new version is released, just do a general system/package or use the following commands in the terminal (or via [[SSH]]):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;Ubuntu upgrade&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== KodiBuntu ===&lt;br /&gt;
{{main|KodiBuntu}}&lt;br /&gt;
{{#lst:KodiBuntu|intro}}&lt;br /&gt;
&lt;br /&gt;
=== Installing a development build ===&lt;br /&gt;
{{see also|Development builds}}&lt;br /&gt;
To install a beta/unstable version of {{kodi}} you must first add the unstable repository, then install XBMC:&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;ppa:team-xbmc/xbmc-nightly&amp;lt;/code&amp;gt; for nightly builds and &amp;lt;code&amp;gt;ppa:team-xbmc/unstable&amp;lt;/code&amp;gt; for [[beta]] builds.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/xbmc-nightly&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Follow the prompts to add the repository, then to add the updates, and finally install the new version of Kodi.&lt;br /&gt;
&lt;br /&gt;
=== Going back to a stable version from a development version ===&lt;br /&gt;
To return to a stable release:&lt;br /&gt;
&lt;br /&gt;
Find the current PPA you are using:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-cache policy | grep team-xbmc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the unstable or nightly PPA where it says &#039;&#039;&#039;PPAHERE&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository -r ppa:PPAHERE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then restore the stable version with the following commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:team-xbmc/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi&lt;br /&gt;
sudo apt-get install kodi&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Downgrading ===&lt;br /&gt;
{{note|If you have existing settings then they probably won&#039;t migrate well to the older version. Especially add-ons and library data. It is recommended that you start fresh &#039;&#039;(delete the [[userdata folder]] and parent .kodi/.xbmc folder)&#039;&#039; or restore from a [[backup]] that works with the older version you are installing.}}&lt;br /&gt;
&lt;br /&gt;
Use these commands if you need to downgrade. For example, from Kodi v14 to XBMC v13.2:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install xbmc=2:13.2* xbmc-bin=2:13.2*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the version number after &amp;quot;&amp;lt;code&amp;gt;xbmc=2:&amp;lt;/code&amp;gt;&amp;quot;. For older Kodi versions replace &amp;quot;xbmc&amp;quot; with &amp;quot;kodi&amp;quot; for both &amp;lt;code&amp;gt;xbmc&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;xbmc-bin&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For a full list of available versions type in this command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-cache policy xbmc&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-cache policy kodi &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Uninstalling ===&lt;br /&gt;
If you need to remove and purge an application and finally removing/purging also the application configurations files, do so by using the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get remove kodi*&lt;br /&gt;
sudo apt-get purge kodi*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then remove the settings folder to remove all settings and library data. This will not delete any videos or music, but just the settings and library data itself:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.kodi/ &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
rm ~/.xbmc/ # for older versions before 14.0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Other repositories =&lt;br /&gt;
&amp;lt;!-- Please only list repos that use an internal ffmpeg library --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unofficial Linux binaries that are un/semi supported by Team Kodi. Most of those binaries use system ffmpeg or even worse totally untested libav, which is not recommended for {{kodi}} as we support ffmpeg only.&lt;br /&gt;
&lt;br /&gt;
== Debian ==&lt;br /&gt;
http://people.debian.org/~rbalint/ppa/xbmc-ffmpeg/&lt;br /&gt;
&lt;br /&gt;
== Fedora ==&lt;br /&gt;
&lt;br /&gt;
Refer to [[HOW-TO:Install Kodi on Fedora 21 using RPMFusion packages]] for a guide showing how to install Fedora 21 and Kodi to create a quick-booting, standalone style of media player.&lt;br /&gt;
&lt;br /&gt;
FedoraProject also has [http://fedoraproject.org/wiki/HTPC this page] discussing how to build a dedicated home theatre.&lt;br /&gt;
&lt;br /&gt;
== OpenELEC ==&lt;br /&gt;
{{main|OpenELEC}}&lt;br /&gt;
{{#lst:OpenELEC|intro}}&lt;br /&gt;
&lt;br /&gt;
= Installation from source =&lt;br /&gt;
&lt;br /&gt;
If distribution packages are not available, or you need a newer version, or specific features enabled, then you will most likely need to compile from source. While compiling from source does not differ very much between distributions (except for installation of build dependencies), a few different guides are available in this wiki.&lt;br /&gt;
&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux from source code]]&lt;br /&gt;
* [[HOW-TO compile XBMC for Linux on Debian/Ubuntu]] - This is a tutorial on how to compile and install {{kodi}} on Debian and Ubuntu.&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[HOW-TO:Autostart XBMC for Linux]]&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Installation|Linux]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82246</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82246"/>
		<updated>2014-12-10T09:17:05Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* PulseAudio Output Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see Known issues), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within xbmc will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that xbmc chooses, might be busy or even might vanish while you are using xbmc, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82245</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82245"/>
		<updated>2014-12-10T09:14:54Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Setup Guide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see FAQ), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;. If &#039;&#039;&#039;Passthrough&#039;&#039;&#039; was not configured with pavucontrol - no &#039;&#039;&#039;Passthrough&#039;&#039;&#039; setting within xbmc will be available.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that xbmc chooses, might be busy or even might vanish while you are using xbmc, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82244</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82244"/>
		<updated>2014-12-10T09:13:12Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Dolby Pro Logic II&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio. Als Pulseaudio will always open the number of channels you have configured. You can stop it doing upmixing (see FAQ), but it will still open all configured channels which makes Dolby Pro Logic II of your AVR not usable.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that xbmc chooses, might be busy or even might vanish while you are using xbmc, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82164</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82164"/>
		<updated>2014-12-07T12:51:23Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: No passthrough when combine sink in use.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music you will realize that direct passthrough output for your movies won&#039;t be working anymore, too. This is a pulseaudio bug, cause the combine sink is not deconstructed fast enough internally while the passthrough opening is always exclusive. It will work however if your passthrough device is not part of the device combination. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that xbmc chooses, might be busy or even might vanish while you are using xbmc, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82163</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=82163"/>
		<updated>2014-12-07T12:46:55Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Make it even more clear why we don&amp;#039;t have a device chooser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music and the  direct passthrough output for your movies, you get probably best out of both worlds. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
* Whenever &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; is running your &#039;&#039;&#039;ALSA&#039;&#039;&#039; device that xbmc chooses, might be busy or even might vanish while you are using xbmc, when system sounds are playing and pulseaudio is trying to access the device again. Out of this reason we also won&#039;t implement a selection box to decide between &#039;&#039;&#039;ALSA&#039;&#039;&#039; and &#039;&#039;&#039;PULSE&#039;&#039;&#039;, because it will actively harm users. Advanced Users can go with the workaround listed beneath.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=82161</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=82161"/>
		<updated>2014-12-07T09:56:16Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add new setting forcevaapienabled to use vaapi on non intel hw. Remove old mpeg4 settings not existent anymore.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[userdata folder]]&#039;&#039;&#039;. This file is used for advanced settings and options that do not have GUI controls inside of XBMC. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# XBMC will only read the advancedsettings.xml file when it starts up. If you make changes while XBMC is running then you must restart XBMC.&lt;br /&gt;
# For some Windows versions, XBMC has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\XBMC\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives it&#039;s value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
{{see also|debug log}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = loglevel&lt;br /&gt;
 | tag attribute = hide&lt;br /&gt;
 | tag attribute type = true_false&lt;br /&gt;
 | tag attribute values = &lt;br /&gt;
{{option values&lt;br /&gt;
 | value1= true | value1 description= Hides &amp;quot;enable debugging&amp;quot; guisetting.&lt;br /&gt;
 | value2= false | value2 description= &amp;quot;enable debugging&amp;quot; guisetting will switch between min(loglevel, 0) and max(loglevel, 2) for off and on respectively. &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
 | tag attribute default values = true&lt;br /&gt;
 | option type = list&lt;br /&gt;
 | option values = &lt;br /&gt;
{{option values&lt;br /&gt;
 | value1= -1 | value1 description= No logging, suppresses all log output&lt;br /&gt;
 | value2= 0 | value2 description= Normal logging, only logging errors &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
 | value3= 1 | value3 description= Debug logging &#039;&#039;(without showing text on screen)&#039;&#039;&lt;br /&gt;
 | value4= 2 | value4 description= Debug logging with freemem, fps and cpu usage shown on screen&lt;br /&gt;
 | value5= 3 | value5 description= Debug logging with freemem, fps and cpu usage and full smb logging&lt;br /&gt;
}}&lt;br /&gt;
 | default values = 0&lt;br /&gt;
 | example values = &lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 8-12&lt;br /&gt;
 | description = &lt;br /&gt;
The logging level that XBMC will use to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional.&lt;br /&gt;
 | example =&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;false&amp;quot;&amp;gt;1&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If debugging is switched on in the GUI, loglevel will be set to 2 (&#039;&#039;log to both file and on-screen information&#039;&#039;); this will over-ride any &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If debugging is switched on in the GUI when XBMC is shut down, then it will be automatically be re-enabled at level 2 when XBMC is re-started. This is true even if &#039;hide&#039; is subsequently set to &#039;true&#039; - in other words, if you enable it in the GUI and then hide the GUI toggle, it will stay on level 2 irrespective of what you subsequently set in &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON RPC]] API in their (third party) applications to debug during development the json output of XBMC can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by XBMC for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other - enableairtunesdebuglog ===&lt;br /&gt;
{{see|#enableairtunesdebuglog}}&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames (default on ATV)&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify automatic watch and resume points|HOW-TO:Modify time seeking}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;  &amp;lt;!-- Delay range for subtitles, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;  &amp;lt;!-- Delay range for audio/video sync, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;smallstepbackseconds&amp;gt;7&amp;lt;/smallstepbackseconds&amp;gt;  &amp;lt;!-- Length of the small skip back when playing a video --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforward&amp;gt;30&amp;lt;/timeseekforward&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a short seek.  Defaults to 30. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackward&amp;gt;-30&amp;lt;/timeseekbackward&amp;gt;  &amp;lt;!-- Time to seek backward in seconds when doing a short seek.  Defaults to -30. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes). --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to -600 (10 minutes). --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;  &amp;lt;!-- Amount to seek backward as a percentage, when doing a short seek.  Defaults to -2. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to -10. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcolour&amp;gt;1&amp;lt;/blackbarcolour&amp;gt;  &amp;lt;!-- colour of the black bars (0-&amp;gt;255), (black-&amp;gt;white) on videos. --&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt; &amp;lt;!-- Whether to go to fullscreen or not when starting a movie. Defaults to true. --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;dvdplayer&amp;lt;/defaultplayer&amp;gt; &amp;lt;!-- Set the default video player: dvdplayer or extplayer. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt; &amp;lt;!--Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched --&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt; &amp;lt;!-- Number of seconds to ignore at video start after which a resume point is created --&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt; &lt;br /&gt;
  &amp;lt;!-- percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. --&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;forcevaapienabled&amp;gt;true&amp;lt;/forcevaapienabled&amp;gt; &amp;lt;!-- VAAPI is only tested on intel hardware. This flag helps wrapper developers and fglrx users to easily test current VAAPI state on their hardware. Default is false. Please report crashes directly to your driver vendor --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
  &amp;lt;!-- scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems,&lt;br /&gt;
  this setting requires a vdpau feature set C gpu--&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt; &amp;lt;!-- allow turning on the spline36 and lanczos3 shader (for GL builds) --&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt; &amp;lt;!-- override the deinterlacing options passed to libpostproc --&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt; &amp;lt;!-- override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt; &amp;lt;!-- when scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled, available since r33806. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- NOT available in the Dharma release or any release before that --&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- You can add overrides here to switch to a certain refreshrate based on video fps --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- It&#039;s possible to add as many overrides as you need. --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- that override, it will try the next one until no overrides are left --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;       &amp;lt;!-- if the fps is between 23.966 and 23.986 --&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt; &amp;lt;!-- switch to the first found refreshrate that is between 59.99 and 60.01 --&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;        &amp;lt;!-- You can also specify the fps range yourself --&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt; &amp;lt;!-- Same for the refreshrate --&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- It none of the overrides match, or none of the refreshrates match any of the fps matching overrides, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- any refreshrate, it will try the next one until no fallbacks are left --&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt; &amp;lt;!-- switch to the first found refreshrate that is between 49.99 and 50.01. --&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- You can also specify the range for the fallback yourself --&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- and no fallbacks are specified or no refreshrates match any fallbacks, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- it will automatically choose the best refreshrate (same as having no overrides and fallbacks). --&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Advanced setting not present: let xbmc autodetect cards that support H264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what.&lt;br /&gt;
  Set value to true if xbmc doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt; &amp;lt;!--Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.--&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt; &amp;lt;!-- fps detection for video playback, 0 = trust codec fps, 1 = recalculate from video timestamps with uniform spacing, 2 = recalculate from video timestamps always --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Compensate display latency (video lag). Latency is given in msecs. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Requires {{subst:Name}} 11.0 (Eden) or later. --&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Global default display latency --&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
      Override latency for given display (not video) refresh rates.&lt;br /&gt;
      When {{subst:Name}} is in windowed mode, override is ignored. Multiple&lt;br /&gt;
      overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
      Syntax of an override entry:&lt;br /&gt;
        &amp;lt;refresh&amp;gt;&lt;br /&gt;
          &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
          &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
          &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
        &amp;lt;/refresh&amp;gt;&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Example: display has 125 msec latency at 23-24 Hz --&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Example: display has 50 msec latency at 50 (+/-0.01) Hz --&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Filename triggers for 3D (stereoscopic) mode. --&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
    &amp;lt;stagefright&amp;gt;&lt;br /&gt;
      &amp;lt;!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist --&amp;gt;&lt;br /&gt;
      &amp;lt;useavccodec&amp;gt;-1&amp;lt;/useavccodec&amp;gt;&lt;br /&gt;
      &amp;lt;usevc1codec&amp;gt;-1&amp;lt;/usevc1codec&amp;gt;&lt;br /&gt;
      &amp;lt;usevpxcodec&amp;gt;-1&amp;lt;/usevpxcodec&amp;gt;&lt;br /&gt;
      &amp;lt;usemp4codec&amp;gt;-1&amp;lt;/usemp4codec&amp;gt;&lt;br /&gt;
      &amp;lt;usempeg2codec&amp;gt;-1&amp;lt;/usempeg2codec&amp;gt;&lt;br /&gt;
      &amp;lt;useswrenderer&amp;gt;false&amp;lt;/useswrenderer&amp;gt;&lt;br /&gt;
    &amp;lt;/stagefright&amp;gt;&lt;br /&gt;
    &amp;lt;mediacodec&amp;gt;&lt;br /&gt;
      &amp;lt;!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist --&amp;gt;&lt;br /&gt;
      &amp;lt;useavccodec&amp;gt;-1&amp;lt;/useavccodec&amp;gt;&lt;br /&gt;
      &amp;lt;usevc1codec&amp;gt;-1&amp;lt;/usevc1codec&amp;gt;&lt;br /&gt;
      &amp;lt;usevpxcodec&amp;gt;-1&amp;lt;/usevpxcodec&amp;gt;&lt;br /&gt;
      &amp;lt;usemp4codec&amp;gt;-1&amp;lt;/usemp4codec&amp;gt;&lt;br /&gt;
      &amp;lt;usempeg2codec&amp;gt;-1&amp;lt;/usempeg2codec&amp;gt;&lt;br /&gt;
      &amp;lt;useswrenderer&amp;gt;false&amp;lt;/useswrenderer&amp;gt;&lt;br /&gt;
    &amp;lt;/mediacodec&amp;gt;&lt;br /&gt;
    &amp;lt;disablehi10pmultithreading&amp;gt;false&amp;lt;/disablehi10pmultithreading&amp;gt; &amp;lt;!-- Set this to true if you want hi10p decoded only on one CPU thread. It will be renamed to disableswmultithreading in v14 Helix --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{helix box|1=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- The following tags are for the future v14 version &amp;quot;Helix&amp;quot;. --&amp;gt;&lt;br /&gt;
    &amp;lt;disableswmultithreading&amp;gt;false&amp;lt;/disableswmultithreading&amp;gt; &amp;lt;!-- Replaces disablehi10pmultithreading. Set this to true if you want software decoding to use only one CPU thread. --&amp;gt;&lt;br /&gt;
    &amp;lt;dxvaallowhqscaling&amp;gt;false&amp;lt;/dxvaallowhqscaling&amp;gt; &amp;lt;!-- enables high quality video upscaling for Windows --&amp;gt;&lt;br /&gt;
    &amp;lt;useffmpegvda&amp;gt;false&amp;lt;/useffmpegvda&amp;gt; &amp;lt;!-- Experimental hardware video decoding mode for OS X. Option is available for development/testing purposes. --&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom {{subst:Name}} should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or dvdplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use DRC on AC3 and DTS streams --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;true&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- set to true to skip decoding of DTS in wav files when using dvdplayer (10.10 only) --&amp;gt;&lt;br /&gt;
  &amp;lt;dvdplayerignoredtsinwav&amp;gt;false&amp;lt;/dvdplayerignoredtsinwav&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on the configuration of audio under Frodo see [[AudioEngine/HOW-TO: Configure audio]]&lt;br /&gt;
&lt;br /&gt;
=== measurerefreshrate ===&lt;br /&gt;
{{anchor|.3Cmeasurerefreshrate.3E}}&lt;br /&gt;
When using &amp;quot;Sync playback to display&amp;quot; on Windows, the detected refreshrate might be wrong.&lt;br /&gt;
When enabling measurerefreshrate, the refreshrate is measured instead, which makes it more accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;measurerefreshrate&amp;gt;true&amp;lt;/measurerefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|EDL}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;minvideocachelevel&amp;gt;5&amp;lt;/minvideocachelevel&amp;gt; &amp;lt;!-- Cache up to this level in the video buffer buffer before resuming playback if the buffers run dry. --&amp;gt;&lt;br /&gt;
  &amp;lt;minaudiocachelevel&amp;gt;10&amp;lt;/minaudiocachelevel&amp;gt; &amp;lt;!-- Cache up to this level in the audio buffer before resuming playback if the buffers run dry. --&amp;gt;&lt;br /&gt;
  &amp;lt;cacheindvdplayer&amp;gt;true&amp;lt;/cacheindvdplayer&amp;gt; &amp;lt;!-- Cache PVR stream in DVDPlayer. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;lingertime&amp;gt;1440&amp;lt;/lingertime&amp;gt;  &amp;lt;!-- keep X minutes of past epg data (default: 24h) --&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- check if tables need to be updated every X minutes --&amp;gt;&lt;br /&gt;
  &amp;lt;lingercleanupintervaltime&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X minutes --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X minute --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;30&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted epg update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- override user selectable EPG update interval (minutes) for empty EPG tags --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3gp .nsv .ts .ty .strm .rm .rmvb .m3u .ifo .mov .qt .divx .xvid .bivx .vob .nrg .img&lt;br /&gt;
.iso .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .dvr-ms .mpg .mpeg .mp4 .mkv .avc .vp3 &lt;br /&gt;
.svq3 .nuv .viv .dv .fli .flv .rar .001 .wpl .zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{anchor|.3Cdiscstubextensions.3E}}&lt;br /&gt;
A list of additional file-extensions that will (&amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt;) or will not (&amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt;) be treated as disc stubs.&lt;br /&gt;
&lt;br /&gt;
Default extensions for DISC STUBS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.dvd|.blu&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.cd|.vhs&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
Translation table for subtitle and audio names.  Contains entries of the form&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
{{anchor|.3Csorttokens.3E}}&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
This is used by the [[File Stacking]] algorithm to combine multi-part files and contains a list of &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As of XBMC v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. Old ones and three capture expressions are dropped (see [[Log file|log]]). More information on how the algorithm works is available [[File Stacking#How does it work.3F|here]].&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc/d&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc/d&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expression]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.+[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-1][0-9])([ _\,\.\(\)\[\]\-][^0-9]|$)&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](ac3|dts|custom|dc|divx|divx5|dsr|dsrip|dutch|dvd|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|cd[1-9]|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Expressions are converted to lower case before being evaluated. &#039;&#039;(XBMC v13.0 alpha4 and earlier only)&#039;&#039;&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* Examples of matching regexps for certain filenames can be found on the [[TV Shows (Video Library)|TV shows]] page.&lt;br /&gt;
&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
&lt;br /&gt;
:* A [http://forum.xbmc.org/showthread.php?t=51614 forum thread] has a discussion of pre-made regex lists to match common names. These drastically improve XMBC&#039;s ability to match TV show names, at the risk of some additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039;, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_ex]+([0-9]+(?:(?:[a-i]|\\.[1-9])(?![0-9]))?)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
:* Specifying this option &#039;&#039;&#039;replaces&#039;&#039;&#039; the default value&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expression]]&#039;&#039;&amp;quot; syntax (commonly referred to as &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|RegEx]]&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|RegExp]]&#039;&#039;&amp;quot;) to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;backgroundupdate&amp;gt;false&amp;lt;/backgroundupdate&amp;gt; &amp;lt;!-- set to hide the video scanner dialog from the gui --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- NOTE: To get this working properly, you have to do a &#039;Clean Library&#039; in settings the first time after you enable the setting. --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent xbmc from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;hideallitems&amp;gt;false&amp;lt;/hideallitems&amp;gt;  &amp;lt;!-- removes the &amp;quot;*All&amp;quot; items from the video library --&amp;gt;&lt;br /&gt;
    &amp;lt;hideemptyseries&amp;gt;false&amp;lt;/hideemptyseries&amp;gt;  &amp;lt;!-- hide empty series in the video library --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;mymovies&amp;gt;  &amp;lt;!-- Options specific to MyMovies XML file parsing --&amp;gt;&lt;br /&gt;
      &amp;lt;categoriestogenres&amp;gt;false&amp;lt;/categoriestogenres&amp;gt;  &amp;lt;!-- Add MyMovies Custom Categories to {{subst:Name}} Genres (boolean, default is false) --&amp;gt;&lt;br /&gt;
    &amp;lt;/mymovies&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== myth ===&lt;br /&gt;
{{anchor|.3Cmyth.3E}}&lt;br /&gt;
Not seeing all the recordings you expected in the Movies folder? If so, it&#039;s very likely that the electronic program guide (EPG) used by MythTV doesn&#039;t accurately distinguish between TV Shows and Movies all the time. The following setting allows the length of the recording to also be used to determine if a recording is a Movie.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;myth&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Recordings longer than this will be added to the Movies folder (minutes). 0 = off --&amp;gt;&lt;br /&gt;
  &amp;lt;movielength&amp;gt;0&amp;lt;/movielength&amp;gt;&lt;br /&gt;
&amp;lt;/myth&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
This tag is new for v12 (Frodo), replacing &amp;lt;thumbsize&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximal resolution that art should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
This tag is new for v12 (Frodo), replacing &amp;lt;fanartheight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the resolution that cached fanart should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanart ===&lt;br /&gt;
{{anchor|.3Cfanart.3E}}&lt;br /&gt;
As of v12 (Frodo), this tag is only used for music and not video.&lt;br /&gt;
&lt;br /&gt;
A list of additional files to try when searching for fanart images.  (The defaults are fanart.jpg and fanart.png which can be removed.)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanart&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;fanart.jpg&amp;lt;/remove&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;backdrop.jpg&amp;lt;/add&amp;gt;&lt;br /&gt;
&amp;lt;/fanart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicthumbs ===&lt;br /&gt;
{{anchor|.3Cmusicthumbs.3E}}&lt;br /&gt;
A list of additional files to try when searching for music thumbnail images.  (The default is folder.jpg which can be removed.)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicthumbs&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;folder.jpg&amp;lt;/remove&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;thumb.jpg|cover.jpg&amp;lt;/add&amp;gt;&lt;br /&gt;
&amp;lt;/musicthumbs&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== useddsfanart ===&lt;br /&gt;
{{anchor|.3Cuseddsfanart.3E}}&lt;br /&gt;
This settings allows XBMC to use your GPU rendering fanart and some other images. This will make loading images considerably faster, especially on systems with slower processors (e.g. atom based systems). Do not use this option on ARM based systems (Apple TV2/iOS/RPi/many Android systems) as it is likely to degrade performance because DDS images are not supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;useddsfanart&amp;gt;true&amp;lt;/useddsfanart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E}}&lt;br /&gt;
{{main|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for both music and video.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of XBMC&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as XBMC is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&#039;&#039;&#039;type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;host&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: defines the relative path to the database file (eg. /usr/local/xbmc/databases).&lt;br /&gt;
&lt;br /&gt;
mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;Not needed by default, and some users report issues when defining the this tag. When not used &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
&lt;br /&gt;
mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;user&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pass&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The videodatabase and musicdatabase tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;xbmc_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;xbmc&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;xbmc&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note|&#039;&#039;The videodatabase and musicdatabase tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/xbmc/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;xbmc_music&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note| &#039;&#039;If you use MySQL for the music database, but are finding that it slows down your music library significantly, execute the following query to create an index on the song table.  This will significantly speed up queries using the songview views looking up by artist:&#039;&#039; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
CREATE INDEX ixSongArtist&lt;br /&gt;
    ON song(idArtist, idAlbum)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Music windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .mpa .wav .wma .ogg .mp3 .mp2 .m3u .mod .amf .669 .dmf .dsm .far .gdm &lt;br /&gt;
.imf .it .m15 .med .okt .s3m .stm .sfx .ult .uni .xm .sid .ac3 .dts .cue .aif .aiff .wpl .ape .mac .mpc &lt;br /&gt;
.mp+ .mpp .shn .zip .rar .wv .nsf .spc .gym .adplug .adx .dsp .adp .ymf .ast .afc .hps .xsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
{{anchor|.3Cmusiclibrary.3E}}&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;hideallitems&amp;gt;true&amp;lt;/hideallitems&amp;gt; &amp;lt;!-- removes the &amp;quot;*All&amp;quot; items from the music library --&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt; &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;backgroundupdate&amp;gt;true&amp;lt;/backgroundupdate&amp;gt; &amp;lt;!-- set to hide the music scanner dialog from the gui --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumssortbyartistthenyear&amp;gt;true&amp;lt;/albumssortbyartistthenyear&amp;gt;    &amp;lt;!-- at an albums listing, when you sort by artist, secondary sort will be year. --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;  &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformatright&amp;gt;%A&amp;lt;/albumformatright&amp;gt;  &amp;lt;!-- album label template for right column, default is &amp;quot;%A&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;  &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;    &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
  &amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== karaoke ===&lt;br /&gt;
{{anchor|.3Ckaraoke.3E}}&lt;br /&gt;
{{Main|Karaoke}}&amp;lt;section begin=&amp;quot;karaoke&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;karaoke&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Music-lyrics delay for CDG format lyrics in SECONDS. Floating number, may be negative. --&amp;gt;&lt;br /&gt;
  &amp;lt;syncdelaycdg&amp;gt;0.0&amp;lt;/syncdelaycdg&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Music-lyrics delay for LRC format lyrics in 1/10 seconds. Floating number, may be negative. --&amp;gt;&lt;br /&gt;
  &amp;lt;syncdelaylrc&amp;gt;0.0&amp;lt;/syncdelaylrc&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true, when the songs are added to the library, {{subst:Name}} will automatically replace the song genre by &amp;quot;Karaoke&amp;quot;&lt;br /&gt;
    if the song has associated lyrics. Default is false. --&amp;gt;&lt;br /&gt;
  &amp;lt;alwaysreplacegenre&amp;gt;false&amp;lt;/alwaysreplacegenre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true, when the music-lyrics delay was modified while playing using subtitle delay buttons, the delay value&lt;br /&gt;
    for this song will be stored, and restored when the song is played next time. Default is true. --&amp;gt;&lt;br /&gt;
  &amp;lt;storedelay&amp;gt;true&amp;lt;/storedelay&amp;gt;&lt;br /&gt;
  &amp;lt;!-- When karaoke songs are added to the library during scans, an autoincrement number is automatically assigned&lt;br /&gt;
 to each song, starting from the value specified below. Default starts from 1. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoassignstartfrom&amp;gt;1&amp;lt;/autoassignstartfrom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true (default), the background for CDG songs is always empty (plain color) no matter what setting is set in &lt;br /&gt;
    defaultbackground below. When setting this to false, then one can see through the background and see the video or&lt;br /&gt;
    visualization.--&amp;gt;&lt;br /&gt;
  &amp;lt;nocdgbackground&amp;gt;true&amp;lt;/nocdgbackground&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Sets default background mode. Type could be &amp;quot;none&amp;quot;, &amp;quot;vis&amp;quot; for visualisation, &amp;quot;image&amp;quot; or &amp;quot;video&amp;quot;.&lt;br /&gt;
    For image/video types the &amp;quot;path&amp;quot; parameter should specify the image or video file to play. --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultbackground type=&amp;quot;video&amp;quot; path=&amp;quot;special://masterprofile/karaokevideobg.avi&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If non-zero, specifies the time in seconds left before the end of the current song when a window will pop up informing you&lt;br /&gt;
    about the next played song. The window does not pop up if there is no next song, or it is not a karaoke song --&amp;gt;&lt;br /&gt;
  &amp;lt;nextsongpopuptime&amp;gt;0.0&amp;lt;/nextsongpopuptime&amp;gt;&lt;br /&gt;
&amp;lt;/karaoke&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;karaoke&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .cbr .rar .m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify the cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;5&amp;lt;/curllowspeedtime&amp;gt;  &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;  &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;  &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;cachemembuffersize&amp;gt;20971520&amp;lt;/cachemembuffersize&amp;gt;  &amp;lt;!-- number of bytes used for buffering streams ahead in memory &lt;br /&gt;
    {{subst:Name}} will not buffer ahead more than this. WARNING: for the bytes set here, {{subst:Name}} will consume 3x the amount of RAM&lt;br /&gt;
    When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;  &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
     0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) (default)&lt;br /&gt;
     1) Buffer all filesystems (including local)&lt;br /&gt;
     2) Only buffer true internet filesystems (streams) (http, etc.)&lt;br /&gt;
     3) No buffer --&amp;gt;&lt;br /&gt;
  &amp;lt;readbufferfactor&amp;gt;1.0&amp;lt;/readbufferfactor&amp;gt; &amp;lt;!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file. &lt;br /&gt;
This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 1.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tuxbox ===&lt;br /&gt;
{{anchor|.3Ctuxbox.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tuxbox&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;audiochannelselection&amp;quot;; default is &#039;false&#039;, &#039;true&#039; will popup the audio channel selection if&lt;br /&gt;
          there is more then one audio stream !--&amp;gt;&lt;br /&gt;
    &amp;lt;audiochannelselection&amp;gt;false&amp;lt;/audiochannelselection&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;submenuselection&amp;quot;; default is &#039;false&#039;, &#039;true&#039; will popup the Submenu selection !--&amp;gt;&lt;br /&gt;
    &amp;lt;submenuselection&amp;gt;false&amp;lt;/submenuselection&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;defaultrootmenu&amp;quot;; MODE: 0 = TV (Default), 1 = Radio, 2 = Data, 3 = Movies, 4 = Root !--&amp;gt;&lt;br /&gt;
    &amp;lt;defaultrootmenu&amp;gt;0&amp;lt;/defaultrootmenu&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;defaultsubmenu&amp;quot;; 1=Services  2=Satellites 3=Providers 4=Bouquets (default) !--&amp;gt;&lt;br /&gt;
    &amp;lt;defaultsubmenu&amp;gt;4&amp;lt;/defaultsubmenu&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;pictureicon&amp;quot;; default is &#039;true&#039;, will use the Picture Icons from folder /UserData/PictureIcon/ !--&amp;gt;&lt;br /&gt;
    &amp;lt;pictureicon&amp;gt;true&amp;lt;/pictureicon&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;epgrequesttime&amp;quot;; default is &#039;10&#039;, 0-3600, defines the time in seconds between epg queries, some tuxbox&lt;br /&gt;
          devices need longer to response (Minimum: 1, Maximum: 3600) !--&amp;gt;&lt;br /&gt;
    &amp;lt;epgrequesttime&amp;gt;10&amp;lt;/epgrequesttime&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;zapwaittime&amp;quot;; default is &#039;0&#039; (0 = OFF), defines the time in seconds to wait for a valid PMT after the&lt;br /&gt;
          zaping was send (Minimum: 0, Maximum: 120) !--&amp;gt;&lt;br /&gt;
    &amp;lt;zapwaittime&amp;gt;0&amp;lt;/zapwaittime&amp;gt;  &lt;br /&gt;
&amp;lt;/tuxbox&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enableairtunesdebuglog ===&lt;br /&gt;
{{helix box|This option will be replaced by a GUI option in v14:&lt;br /&gt;
{{anchor|.3Cenableairtunesdebuglog.3E}}&amp;lt;section begin=&amp;quot;enableairtunesdebuglog&amp;quot; /&amp;gt;&lt;br /&gt;
This enables the debug output of libshairport which is used for the AirTunes feature. Defaults to off - because its spamming badly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enableairtunesdebuglog&amp;gt;1&amp;lt;/enableairtunesdebuglog&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;enableairtunesdebuglog&amp;quot; /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[add-on]] rollback feature. Increasing the size should increase the amount of past versions saved.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
&#039;&#039;&#039;[[Path substitution]]s&#039;&#039;&#039; are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for XBMC to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remote control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== remoterepeat ===&lt;br /&gt;
{{anchor|.3Cremoterepeat.3E}}&lt;br /&gt;
This used to adjust the amount of time in milliseconds between repeated keystrokes. Used to prevent key-bounce, in other words prevents xbmc (lirc?) seeing one key press as multiple key presses with certain remotes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remoterepeat&amp;gt;800&amp;lt;/remoterepeat&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
The controller deadzone is the region of movement around the center which is not recognized by the device. Because joysticks can have noise (report motion when still) and bias (report an offset when centered), spurious events can be reported even though the controller isn&#039;t being touched. If you notice these kinds of events, you most likely need to increase your controller&#039;s deadzone (both axes recommended). The values range from 0.0 (no deadzone, XBMC will see all input your controller is capable of registering) to 1.0 (XBMC will ignore all input inside of the device&#039;s physical limits).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;controllerdeadzone&amp;gt;0.2&amp;lt;/controllerdeadzone&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of XBMC, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. XBMC processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
This allows you to manually set the default size of XBMC&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== allowd3d9ex ===&lt;br /&gt;
{{anchor|.3Callowd3d9ex.3E}}&lt;br /&gt;
Applies only to Windows Vista and up. Values: true/false. Allows xbmc to use Direct3D 9Ex, which is a bit more stable and robust than Direct3D 9.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;allowd3d9ex&amp;gt;true&amp;lt;/allowd3d9ex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent xbmc from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forced3d9ex ===&lt;br /&gt;
{{anchor|.3Cforced3d9ex.3E}}&lt;br /&gt;
Windows only: XBMC attempts to detect drivers released for a version earlier than Vista, to avoid using advanced features which are often not emulated correctly. The detection may be incorrect and this setting allows forcing the using of D3D9Ex.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forced3d9ex&amp;gt;false&amp;lt;/forced3d9ex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt; {{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3, combined with nofliptimeout=0, is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This, combined with nofliptimeout is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nofliptimeout ===&lt;br /&gt;
{{anchor|.3Cnofliptimeout.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;nofliptimeout&amp;quot; /&amp;gt;Specifies the timeout in milliseconds after which XBMC will not flip the graphics buffers anymore when nothing has been rendered, this lowers both CPU and GPU usage. Sometimes adjusting this value can help prevent flickering.&lt;br /&gt;
&lt;br /&gt;
* -1: disabled &lt;br /&gt;
* 0 or higher: timeout in milliseconds &#039;&#039;&#039;(0 is default)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;section end=&amp;quot;nofliptimeout&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;nofliptimeout&amp;gt;1000&amp;lt;/nofliptimeout&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setup&#039;s where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts XBMC in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command XBMC will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command XBMC will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps XBMC always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternate code.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;videoscreen&amp;gt;&lt;br /&gt;
        &amp;lt;fakefullscreen&amp;gt;false&amp;lt;/fakefullscreen&amp;gt;&lt;br /&gt;
    &amp;lt;/videoscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recently removed tags ==&lt;br /&gt;
* {{anchor|.3Cthumbsize.3E}}&#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cfanartheight.3E}}&#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cdvdthumbs.3E}}&#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
* {{anchor|.3Cbginfoloadermaxthreads.3E}}&#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
* {{anchor|.3Cbusydialogdelayms.3E}}&#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;resample&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;forceDirectSound&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiophile&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;audiosinkbufferdurationmsec&amp;gt;&#039;&#039;&#039;, &#039;&#039;&#039;&amp;lt;allowtranscode44100&amp;gt;&#039;&#039;&#039;, and &#039;&#039;&#039;&amp;lt;streamsilence&amp;gt;&#039;&#039;&#039; - These were various sub-tags for &amp;lt;audio&amp;gt; that were removed in v13 Gotham and either replaced by GUI settings or were no longer needed.&lt;br /&gt;
* {{anchor|.3Cenableairtunesdebuglog.3E}}&#039;&#039;&#039;&amp;lt;enableairtunesdebuglog&amp;gt;&#039;&#039;&#039; replaced by a GUI option in v14 Helix&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;videoDisableHi10pMultithreading&amp;gt;&#039;&#039;&#039; renamed to &amp;lt;disableswmultithreading&amp;gt; in v14 Helix&lt;br /&gt;
&lt;br /&gt;
== guisettings.xml settings ==&lt;br /&gt;
{{Note|In XBMC v13 &amp;quot;Gotham&amp;quot;, using guisettings in advancedsettings.xml might not work anymore or might give unexpected results.}}&lt;br /&gt;
&lt;br /&gt;
You can also define the settings normally defined in the GUI (and stored in guisettings.xml) in advancedsettings.xml.  Any guisettings.xml settings defined in advancedsettings.xml will override the guisettings.xml values, and the settings will be removed completely from the XBMC&#039;s interface.&lt;br /&gt;
&lt;br /&gt;
The easiest way to include a guisettings.xml setting is to first change the setting in XBMC&#039;s interface to the value that you want, and then open the &#039;&#039;&#039;[[userdata]]/guisettings.xml&#039;&#039;&#039; file and find the XML entry that corresponds to that setting.&lt;br /&gt;
&lt;br /&gt;
Then just add that entry to the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
For instance, to set the Font Character Set (found in the appearance setting, in the Look and Feel section), you&#039;d open up guisettings.xml and find:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;lookandfeel&amp;gt;&lt;br /&gt;
    &amp;lt;charset&amp;gt;Hebrew (Windows)&amp;lt;/charset&amp;gt;&lt;br /&gt;
  &amp;lt;/lookandfeel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply take that entry and place it in advancedsettings.xml.  The option in XBMC&#039;s interface for the character set will then no longer be visible, and XBMC will always use the Hebrew (Windows) character set.&lt;br /&gt;
&lt;br /&gt;
{{Gotham updated}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Advanced topics]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:XBMC_v13_(Gotham)_changelog&amp;diff=77985</id>
		<title>Archive:XBMC v13 (Gotham) changelog</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:XBMC_v13_(Gotham)_changelog&amp;diff=77985"/>
		<updated>2014-08-09T05:36:00Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: X11 was dropped beginning of helix cycle - gotham uses sdl bloat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Releases]]}}&lt;br /&gt;
{{see also|XBMC v13 (Gotham) FAQ|Gotham API changes|Releases}}&lt;br /&gt;
&lt;br /&gt;
XBMC Wiki copy of the XBMC v13 (Gotham) condensed changelog for the release with a summery of larger and important features and functions.&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
&lt;br /&gt;
=== Live TV and PVR (Personal Video Recorder) ===&lt;br /&gt;
* Added much improved PVR / EPG and Live TV interface in XBMC&#039;s GUI skinning engine (already in use in Confluence)&lt;br /&gt;
* Added improved PVR / DVR timeshift support to pause Live TV (note that each PVR backend still need to support timeshifting)&lt;br /&gt;
* Added much improved PVR / EPG extensions and notifications support over the JSON-RPC API&lt;br /&gt;
* Improved PVR front-end with Live TV and EPG specific windows, plus PVR stuff in OSD and GUI settings in Confluence skin&lt;br /&gt;
* Added, updated, and improved PVR backend clients addons for many popular third-party external [[PVR backend]] platforms:&lt;br /&gt;
** [[PVR/Testing|PVR Demo Client]] dummy addon with fake backend from Team-XBMC for skin development and regression testing&lt;br /&gt;
** [[PVR/Backend/IPTV|IPTV (IPTV Simple Client)]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/Tvheadend|Tvheadend]] PVR Addon backend clients maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/NextPVR|NextPVR (former GB-PVR)]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/Njoy|Njoy Digital (N7)]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/MediaPortal|MediaPortal]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/MythTV|MythTV]] PVR Addon backend client maintained and available from the XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/VDR|VDR (Video Disk Recorder)]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/VUPlus|Vu+ / Enigma2 / Dreambox]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/ForTheRecord|Argus TV / ForTheRecord]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[Add-on:PVR.WMC|WMC (Windows Media Center)]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[DVBLink]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
** [[PVR/Backend/DVBViewer|DVBViewer]] PVR Addon backend client maintained and available from XBMC&#039;s community&lt;br /&gt;
&lt;br /&gt;
=== Add-ons Framework, API, and Manager ===&lt;br /&gt;
For full changelogs on changes to all Addons APIs, see [[Gotham API changes]], the [http://forum.xbmc.org/showthread.php?tid=98551 JSON-RPC Development Forum], and the [http://forum.xbmc.org/showthread.php?tid=173943 Python Development Forum]&lt;br /&gt;
* Added option for allowing skins to query directories (e.g. plugins) to fill static content&lt;br /&gt;
* Added a Monitor class to receive JSON-RPC notifications directly through the Python bindings&lt;br /&gt;
* Added announce function and register addon for announcements to the Add-ons API&lt;br /&gt;
* Added new Built-In function to control state of attached HDMI CEC device via Add-ons API&lt;br /&gt;
* Added support for XBMC&#039;s Python interface to use native keyboard if possible (currently only iOS) &lt;br /&gt;
* Added support for addon binary reading and writing via a &amp;quot;buffer&amp;quot; class usable from addons&lt;br /&gt;
* Added WOL (Wake-on-LAN) with send magic packet function to the Add-ons API&lt;br /&gt;
* Improved the ability to [http://github.com/xbmc/xbmc/pull/901 extend XBMC&#039;s native Python API by writing C++ code generated] via [http://en.wikipedia.org/wiki/Groovy_%28programming_language%29 Groovy] and [http://en.wikipedia.org/wiki/Groovy_%28programming_language%29 SWIG]&lt;br /&gt;
* Improved Addons API for homebrew DIY RGB LED [http://en.wikipedia.org/wiki/Ambilight Ambilight] clone client software such as [[Add-on:XBMC Boblight|Boblight]]&lt;br /&gt;
&lt;br /&gt;
=== GUI Engine (Skinning Engine) ===&lt;br /&gt;
For full changelog on changes to the skinning engine, see [[Gotham API changes]] and the [http://forum.xbmc.org/showthread.php?tid=158812 Skin Development Forum]&lt;br /&gt;
* Added support for customizable menu structure for home and beyond&lt;br /&gt;
* Added Stereoscopic 3D rendering support (Side-by-Side, Top-Bottom, and Anaglyph) to XBMC&#039;s GUI skinning engine&lt;br /&gt;
* Added Stereoscopic 3D rendering support (Side-by-Side, Top-Bottom, and Anaglyph) for Subtitles when in 3D mode&lt;br /&gt;
* Added a simple Movie Set management to GUI for Edit/Clear Set and Add/Remove Set members&lt;br /&gt;
* Added option support for both banner and poster music art types simultaneously&lt;br /&gt;
* Added picture tags metadata info accessible for skins or addons developers&lt;br /&gt;
* Added further optimizations to XBMC&#039;s GUI engine for faster rendering on low resource embedded devices&lt;br /&gt;
* Improved touch and gesture support for all platforms, and also improved the default touch screen skin ([[Touched]])&lt;br /&gt;
* Added [http://github.com/xbmc/xbmc/pull/2040 ImageFactory implementation] with factory to abstract different image libraries and hardware acceleration&lt;br /&gt;
* Improved [[Dirty regions|Dirty Regions]] rendering on all platforms&lt;br /&gt;
* Refactored settings system to consist of XML files containing descriptions of every setting&lt;br /&gt;
&lt;br /&gt;
=== Platform Independent Playback ===&lt;br /&gt;
* Added support for H.264 (including [[Hi10P]]) multi-threaded video decoding when software decoder on CPU is used&lt;br /&gt;
* Added support for Forced Subtitles (&amp;quot;forced flag&amp;quot;) in external subtitle files&lt;br /&gt;
* Added support for video playback of SageTV recordings &lt;br /&gt;
* Added unified buffering capability to video and overlay renderers for all internal players&lt;br /&gt;
* Upgraded FFmpeg (libavcodec and libavformat) audio/video codec and demuxer libraries to [http://www.ffmpeg.org/download.html#release_1.2 FFmpeg 1.2 (rev e820e3a)]&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Added extensive [[MusicBrainz]] tags support to the Music Library and Database&lt;br /&gt;
* Added ability to queue list of items / add items to a playlist without playing them&lt;br /&gt;
* Improved and extended [[Smart playlists|Smart Playlists]] functionality&lt;br /&gt;
* Added support for scanning videos SFTP and SSH sources so can scrape metadata&lt;br /&gt;
* Added support for write-enabled WebDAV (delete/rename/write files and directories)&lt;br /&gt;
* Added &amp;quot;Add art&amp;quot; button to video artwork selection dialog&lt;br /&gt;
* Added support for &amp;quot;last played&amp;quot; sort option to the TV Show GUI&lt;br /&gt;
* Added support for OGG cover art extraction to TagLib&lt;br /&gt;
* Added option support for exporting music art as JPEG or PNG rather than TBN file extension&lt;br /&gt;
* Improved performance for SQL database queries for faster browsing&lt;br /&gt;
&lt;br /&gt;
=== Web Scrapers ===&lt;br /&gt;
* Added theaudiodb.com music video scraper as new default for music videos&lt;br /&gt;
&lt;br /&gt;
=== AudioEngine ===&lt;br /&gt;
* Added new cross-platform event driven active state machine pattern [[AudioEngine#ActiveAE|ActiveAE]] sink as the default for XBMC&#039;s [[AudioEngine]]&lt;br /&gt;
* Added ALSA sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop and generic Linux based Embedded Systems&lt;br /&gt;
* Added PulseAudio sink for [[AudioEngine#ActiveAE|ActiveAE]] for Linux Desktop&lt;br /&gt;
* Added OSS (Open Sound System) sink for [[AudioEngine#ActiveAE|ActiveAE]] for BSD, like FreeBSD, PC-BSD, and similar Unix based systems&lt;br /&gt;
* Added AUDIOTRACK sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Amlogic]]&lt;br /&gt;
* Added Pi Audio sink for [[AudioEngine#ActiveAE|ActiveAE]] for [[Raspberry Pi]]&lt;br /&gt;
* Added DirectSound sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Added WASAPI sink for [[AudioEngine#ActiveAE|ActiveAE]] for Windows&lt;br /&gt;
* Added Darwin sink for [[AudioEngine#ActiveAE|ActiveAE]] for Mac OS X and iOS&lt;br /&gt;
* Added support for CoreAudio AudioEngine to OS notifications for device changes on Mac OS X and iOS&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
* Added support for &amp;quot;Play to&amp;quot; and controlling remote XBMC / DLNA instance over UPnP&lt;br /&gt;
* Added new &amp;quot;Fishbmc&amp;quot; audio visualization addon (only OpenGL versions for Linux and Mac OS X for now)&lt;br /&gt;
* Added GUI settings levels for Basic, Standard, Advanced, Expert (defaults to &amp;quot;Standard&amp;quot;)&lt;br /&gt;
* Added support and GUI settings for SOCKS 4/4a/5 proxy types and remote DNS&lt;br /&gt;
* Added possibility to define help descriptions (&amp;quot;I&amp;quot; key) for every setting in GUI settings&lt;br /&gt;
* Added option to set auto login of a specific user profile via the GUI&lt;br /&gt;
* Added CPU / GPU frequency and temperature for all supported Linux platforms&lt;br /&gt;
* Added support to allow key IDs in keyboard.xml to be in hexadecimal format&lt;br /&gt;
* Upgraded DVD-Video navigation and playback libraries (libdvdnav, libdvdread, and libdvdcss)&lt;br /&gt;
* Upgraded SAMBA client to version 3.6.x adding full support for SMB 2.0 and SMB 2.1 protocols&lt;br /&gt;
* Added initial support for running libxbmc.so headless (without GUI) as a background service / deamon&lt;br /&gt;
* Added a generic and user-mappable cross-platform touch input system&lt;br /&gt;
* Improved [http://en.wikipedia.org/wiki/HDMI#CEC|HDMI CEC (Consumer Electronics Control)] support for [http://libcec.pulse-eight.com/ Pulse-Eight&#039;s LibCEC]&lt;br /&gt;
* Moved subtitle addon core handling to core and added native support for subtitle plugin services&lt;br /&gt;
* Updated community maintained translations to over 60+ languages to date for XBMC via [[Translation System|Transifex Translation System]]&lt;br /&gt;
&lt;br /&gt;
=== Android Specific ===&lt;br /&gt;
* Added first full (and stable) XBMC for [[Android]] port with multi-architecture platform support (supports ARM, MIPS, and x86)&lt;br /&gt;
* Added built-in command for addons and skins to execute Android apps with optional params via applicationmanager&lt;br /&gt;
* Added support to allow landscape and reverse landscape orientation of XBMC GUI on Android&lt;br /&gt;
* Added MediaCodec API (Android 4.1 API level 16) software rendering implementation support to XBMC&#039;s DVDPlayer&lt;br /&gt;
* Added StageFright API (Android 4.0 API level 14) hardware rendering implementation support to XBMC&lt;br /&gt;
* Added OpenMAX Video Acceleration API support for OpenMAX AL API on Android via StageFright and MediaCodec&lt;br /&gt;
* Improved the dedicated AMLPlayer video player for hardware accelerated video decoding on [[AMLogic devices|Amlogic]]&lt;br /&gt;
* Added external player (external player launcher) support on Android&lt;br /&gt;
* Added native volume control for Android from within XBMC&lt;br /&gt;
* Improved [http://en.wikipedia.org/wiki/ARM_architecture#Advanced_SIMD_.28NEON.29 NEON (Advanced SIMD instruction set)] CPU acceleration support for ARM architecture&lt;br /&gt;
&lt;br /&gt;
=== BSD Specific ===&lt;br /&gt;
* Improved XBMC support for [http://en.wikipedia.org/wiki/Berkeley_Software_Distribution BSD (operating system)] on FreeBSD, PC-BSD, and other similar BSD platforms&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Acceleration Video Decoding support on BSD&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) Hardware Acceleration Video Decoding support on BSD&lt;br /&gt;
&lt;br /&gt;
=== Linux Specific ===&lt;br /&gt;
* Added VA-API (libva) support for decoding videos with larger resolutions than 1080p (such as 4K resolution)&lt;br /&gt;
* Improved ARM processor architecture ([http://www.pivosgroup.com/xios.html Pivos XIOS DS] and [[Raspberry Pi]] as reference devices)&lt;br /&gt;
* Improved OpenGL ES and EGL support ([http://www.pivosgroup.com/xios.html Pivos XIOS DS] and [[Raspberry Pi]] as reference devices)&lt;br /&gt;
* Improved VAAPI (Video Acceleration API) support (requires VAAPI compatible hardware and drivers)&lt;br /&gt;
* Improved VDPAU (NVIDIA) Hardware Video Acceleration and its upscaling/deinterlacing capabilities&lt;br /&gt;
* Improved OpenMAX Video Acceleration API support for Linux (using Raspberry Pi as reference hardware)&lt;br /&gt;
* Added RenderCapture implementation to Linux for Raspberry Pi for Ambilight addons&lt;br /&gt;
* Added support for OpenMAX pipeline to handle JPEG decode/resize/convert/encode to texture on Raspberry Pi&lt;br /&gt;
* Added support for hardware assisted video decoding of MJPEG, VP6, VP8 and Ogg Theora on Raspberry Pi&lt;br /&gt;
* Added support for Fast Forward and Rewind video up 4x to OpenMAX (OMXPlayer) on Linux for Raspberry Pi&lt;br /&gt;
* Added support multi-channel PCM audio output over HDMI to OpenMAX (OMXPlayer) on Linux for Raspberry Pi&lt;br /&gt;
* Added screenshot implementation to Linux for Raspberry Pi that includes the video layer&lt;br /&gt;
* Added hot-plug support for Linux input devices, such as Bluetooth remotes and keyboards&lt;br /&gt;
* Improved AMD/Intel x86-64 64-bit (AMD64 / IA-64t CPU architectures) support under Linux&lt;br /&gt;
&lt;br /&gt;
=== iOS Specific ===&lt;br /&gt;
* Added support for native media control bar and play background music on iOS&lt;br /&gt;
* Added adaptions for developing XBMC on non-jailbroken iSO devices (for development only, not to release on App Store)&lt;br /&gt;
&lt;br /&gt;
=== Mac OS X Specific ===&lt;br /&gt;
* Improved XBMC support for OS X 10.9 (Mavericks)&lt;br /&gt;
* Added support for copy and paste to and from clipboard with command key&lt;br /&gt;
&lt;br /&gt;
=== Windows Specific ===&lt;br /&gt;
* Added support for Pixel Shader based HQ (High Quality) scalers for DXVA renderer on Windows&lt;br /&gt;
* Added hybrid shutdown option on Windows 8 (which in turn enables quick boot)&lt;br /&gt;
* Removed Windows XP support (as from now XBMC for Windows requires at least Vista or later)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{Changelogs}}&lt;br /&gt;
&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Gotham|*]]&lt;br /&gt;
[[Category:Changelogs]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76752</id>
		<title>Archive:Linux audio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76752"/>
		<updated>2014-06-18T07:46:56Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Intel GPU HD Audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to set up audio for Linux-based systems. Primarily, it covers how to setup XBMC when using either ALSA or PulseAudio.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PulseAudio vs ALSA=&lt;br /&gt;
&lt;br /&gt;
Linux has two different audio systems, these are &#039;&#039;&#039;[[w:PulseAudio|PulseAudio]]&#039;&#039;&#039; and &#039;&#039;&#039;[[w:Advanced Linux Sound Architecture|Advanced Linux Sound Architecture (ALSA)]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you have a PC that is exclusively used for XBMC then using ALSA maybe the best solution.&lt;br /&gt;
&lt;br /&gt;
If you have a PC runs many applications other than XBMC then using PulseAudio maybe the the best solution.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PulseAudio FAQ ==&lt;br /&gt;
To help you decide which is best for you:&lt;br /&gt;
{{See|PulseAudio#FAQ}}&lt;br /&gt;
&lt;br /&gt;
== Configuring PulseAudio ==&lt;br /&gt;
When using PulseAudio some configuration at the OS level maybe necessary to get audio from XBMC.&lt;br /&gt;
&lt;br /&gt;
For how to do this &lt;br /&gt;
{{See|PulseAudio}}&lt;br /&gt;
&lt;br /&gt;
= Hardware Vendor Specifics =&lt;br /&gt;
&lt;br /&gt;
== AMD ==&lt;br /&gt;
&lt;br /&gt;
For AMD GPU&#039;s there are two sets of drivers available, the AMD supplied binary fglrx drivers or the newer Radeon OSS drivers.&lt;br /&gt;
&lt;br /&gt;
===fglrx Drivers===&lt;br /&gt;
&lt;br /&gt;
The AMD fglrx drivers on Linux support TrueHD, LPCM 7.1 and DTS-HD starting with kernel 3.13.&lt;br /&gt;
&lt;br /&gt;
The AMD developers responsible for the fglrx drivers have failed to provide any updates or improvements to the XvBA hardware acceleration API which is for example used in the infamous xvba-va-driver. We suggest you disable hw decoding support and choose multithreaded Software Decoding in the Video -&amp;gt; Acceleration settings.&lt;br /&gt;
&lt;br /&gt;
===Radeon OSS Drivers===&lt;br /&gt;
&lt;br /&gt;
As a consequence of the lack of XvBA updates, XBMC&#039;s developers got in contact with the AMD OSS developers to see what could be done to improve AMD graphics in Linux, the result was the Radeon OSS drivers which have been developed to use the open source VDPAU API. &lt;br /&gt;
&lt;br /&gt;
The Radeon OSS driver are now more feature rich and better performing than the fglrx ever were, amongst other things they are capable of allowing HD audio (DTS-HD, TrueHD) to be bitstreamed.&lt;br /&gt;
&lt;br /&gt;
For more detail see forum thread: &lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:174854|Linux - Radeon OSS with vdpau (howto)]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Intel GPU HD Audio ==&lt;br /&gt;
Ubuntu 14.04 and therefore Xbmcbuntu v13 support HD Audio with intel hardware (IVB, SNB, HSW) out of the box you don&#039;t have to do any modifications to your system configuration. If and only if you are running a very old distribution, e.g. Ubuntu 12.04 that is shipped with an old kernel {{see|Intel Linux Modifications for HD Audio}}, those changes will break and harm your audio on a recent distributions, don&#039;t change your config files.&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76751</id>
		<title>Archive:Linux audio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76751"/>
		<updated>2014-06-18T07:44:33Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Intel GPU HD Audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to set up audio for Linux-based systems. Primarily, it covers how to setup XBMC when using either ALSA or PulseAudio.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PulseAudio vs ALSA=&lt;br /&gt;
&lt;br /&gt;
Linux has two different audio systems, these are &#039;&#039;&#039;[[w:PulseAudio|PulseAudio]]&#039;&#039;&#039; and &#039;&#039;&#039;[[w:Advanced Linux Sound Architecture|Advanced Linux Sound Architecture (ALSA)]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you have a PC that is exclusively used for XBMC then using ALSA maybe the best solution.&lt;br /&gt;
&lt;br /&gt;
If you have a PC runs many applications other than XBMC then using PulseAudio maybe the the best solution.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PulseAudio FAQ ==&lt;br /&gt;
To help you decide which is best for you:&lt;br /&gt;
{{See|PulseAudio#FAQ}}&lt;br /&gt;
&lt;br /&gt;
== Configuring PulseAudio ==&lt;br /&gt;
When using PulseAudio some configuration at the OS level maybe necessary to get audio from XBMC.&lt;br /&gt;
&lt;br /&gt;
For how to do this &lt;br /&gt;
{{See|PulseAudio}}&lt;br /&gt;
&lt;br /&gt;
= Hardware Vendor Specifics =&lt;br /&gt;
&lt;br /&gt;
== AMD ==&lt;br /&gt;
&lt;br /&gt;
For AMD GPU&#039;s there are two sets of drivers available, the AMD supplied binary fglrx drivers or the newer Radeon OSS drivers.&lt;br /&gt;
&lt;br /&gt;
===fglrx Drivers===&lt;br /&gt;
&lt;br /&gt;
The AMD fglrx drivers on Linux support TrueHD, LPCM 7.1 and DTS-HD starting with kernel 3.13.&lt;br /&gt;
&lt;br /&gt;
The AMD developers responsible for the fglrx drivers have failed to provide any updates or improvements to the XvBA hardware acceleration API which is for example used in the infamous xvba-va-driver. We suggest you disable hw decoding support and choose multithreaded Software Decoding in the Video -&amp;gt; Acceleration settings.&lt;br /&gt;
&lt;br /&gt;
===Radeon OSS Drivers===&lt;br /&gt;
&lt;br /&gt;
As a consequence of the lack of XvBA updates, XBMC&#039;s developers got in contact with the AMD OSS developers to see what could be done to improve AMD graphics in Linux, the result was the Radeon OSS drivers which have been developed to use the open source VDPAU API. &lt;br /&gt;
&lt;br /&gt;
The Radeon OSS driver are now more feature rich and better performing than the fglrx ever were, amongst other things they are capable of allowing HD audio (DTS-HD, TrueHD) to be bitstreamed.&lt;br /&gt;
&lt;br /&gt;
For more detail see forum thread: &lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:174854|Linux - Radeon OSS with vdpau (howto)]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Intel GPU HD Audio ==&lt;br /&gt;
HD Audio on Intel SandyBridge &amp;amp; IvyBridge systems require a patch from Intel to be included within the kernel, Linux 3.7 and higher include this patch as standard. &lt;br /&gt;
On very old Linux Distributions (Ubuntu 12.04) you might need to alter your system configuration. This is not needed for Xbmcbuntu v13 nor is it needed for Ubuntu 14.04 LTS, don&#039;t touch those config files.&lt;br /&gt;
&lt;br /&gt;
For more detail on the required Linux modifications for old distributions:&lt;br /&gt;
&lt;br /&gt;
{{See|Intel Linux Modifications for HD Audio}}&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76750</id>
		<title>Archive:Linux audio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Linux_audio&amp;diff=76750"/>
		<updated>2014-06-18T07:42:37Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* fglrx Drivers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page describes how to set up audio for Linux-based systems. Primarily, it covers how to setup XBMC when using either ALSA or PulseAudio.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PulseAudio vs ALSA=&lt;br /&gt;
&lt;br /&gt;
Linux has two different audio systems, these are &#039;&#039;&#039;[[w:PulseAudio|PulseAudio]]&#039;&#039;&#039; and &#039;&#039;&#039;[[w:Advanced Linux Sound Architecture|Advanced Linux Sound Architecture (ALSA)]]&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you have a PC that is exclusively used for XBMC then using ALSA maybe the best solution.&lt;br /&gt;
&lt;br /&gt;
If you have a PC runs many applications other than XBMC then using PulseAudio maybe the the best solution.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== PulseAudio FAQ ==&lt;br /&gt;
To help you decide which is best for you:&lt;br /&gt;
{{See|PulseAudio#FAQ}}&lt;br /&gt;
&lt;br /&gt;
== Configuring PulseAudio ==&lt;br /&gt;
When using PulseAudio some configuration at the OS level maybe necessary to get audio from XBMC.&lt;br /&gt;
&lt;br /&gt;
For how to do this &lt;br /&gt;
{{See|PulseAudio}}&lt;br /&gt;
&lt;br /&gt;
= Hardware Vendor Specifics =&lt;br /&gt;
&lt;br /&gt;
== AMD ==&lt;br /&gt;
&lt;br /&gt;
For AMD GPU&#039;s there are two sets of drivers available, the AMD supplied binary fglrx drivers or the newer Radeon OSS drivers.&lt;br /&gt;
&lt;br /&gt;
===fglrx Drivers===&lt;br /&gt;
&lt;br /&gt;
The AMD fglrx drivers on Linux support TrueHD, LPCM 7.1 and DTS-HD starting with kernel 3.13.&lt;br /&gt;
&lt;br /&gt;
The AMD developers responsible for the fglrx drivers have failed to provide any updates or improvements to the XvBA hardware acceleration API which is for example used in the infamous xvba-va-driver. We suggest you disable hw decoding support and choose multithreaded Software Decoding in the Video -&amp;gt; Acceleration settings.&lt;br /&gt;
&lt;br /&gt;
===Radeon OSS Drivers===&lt;br /&gt;
&lt;br /&gt;
As a consequence of the lack of XvBA updates, XBMC&#039;s developers got in contact with the AMD OSS developers to see what could be done to improve AMD graphics in Linux, the result was the Radeon OSS drivers which have been developed to use the open source VDPAU API. &lt;br /&gt;
&lt;br /&gt;
The Radeon OSS driver are now more feature rich and better performing than the fglrx ever were, amongst other things they are capable of allowing HD audio (DTS-HD, TrueHD) to be bitstreamed.&lt;br /&gt;
&lt;br /&gt;
For more detail see forum thread: &lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:174854|Linux - Radeon OSS with vdpau (howto)]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Intel GPU HD Audio ==&lt;br /&gt;
HD Audio on Intel SandyBridge &amp;amp; IvyBridge systems require a patch from Intel to be included within the kernel, Linux 3.7 and higher include this patch as standard. In addition modification to system files maybe required in order to get the HDMI audio working.&lt;br /&gt;
&lt;br /&gt;
For more detail on the required Linux modifications:&lt;br /&gt;
&lt;br /&gt;
{{See|Intel Linux Modifications for HD Audio}}&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=76695</id>
		<title>Advancedsettings.xml</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Advancedsettings.xml&amp;diff=76695"/>
		<updated>2014-06-14T22:50:04Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TOC right}}{{mininav|[[Settings]]|page=advancedsettings.xml}}&lt;br /&gt;
{{bigger|{{note|&#039;&#039;&#039;The advancedsettings.xml file does not exist by default. You have to create it first!&#039;&#039;&#039;}} }}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The [[advancedsettings.xml]] file, which does not exist by default, can be created by a user in their &#039;&#039;&#039;[[userdata folder]]&#039;&#039;&#039;. This file is used for advanced settings and options that do not have GUI controls inside of XBMC. Some settings are experimental or very rarely set, so they can only be used via the advancedsettings.xml file. The file is simply a plain text file and can be edited by various text editors, so long as the name is &amp;quot;advancedsettings.xml&amp;quot;. These advanced settings can be used to tweak various things such as episode naming patterns, special network ports, special behaviors, and more.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following page will describe the structure of the advancedsettings.xml file and the various individual settings.&lt;br /&gt;
&lt;br /&gt;
{{note|&lt;br /&gt;
# All XML tags must be lowercase. The start and end of the advancedsettings.xml file must have the &amp;lt;advancedsettings&amp;gt; and &amp;lt;/advancedsettings&amp;gt; tags.&lt;br /&gt;
# XBMC will only read the advancedsettings.xml file when it starts up. If you make changes while XBMC is running then you must restart XBMC.&lt;br /&gt;
# For some Windows versions, XBMC has two &amp;lt;code&amp;gt;\userdata\&amp;lt;/code&amp;gt; folders. The correct one to put the advancedsettings.xml file in is not the one in Program Files, but in &amp;lt;code&amp;gt;%appdata%\XBMC\userdata\.&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Layout ==&lt;br /&gt;
&lt;br /&gt;
The layout of &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;advancedsettings&amp;gt;&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
    ...&lt;br /&gt;
    &amp;lt;setting&amp;gt;value&amp;lt;/setting&amp;gt;&lt;br /&gt;
&amp;lt;/advancedsettings&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &amp;quot;setting&amp;quot; gives the name of the setting, and &amp;quot;value&amp;quot; gives it&#039;s value.&lt;br /&gt;
&lt;br /&gt;
A list of the available &amp;quot;setting&amp;quot; strings and their values is given below.&lt;br /&gt;
&lt;br /&gt;
== How to include GUI settings ==&lt;br /&gt;
{{Note|In XBMC v13 &amp;quot;Gotham&amp;quot;, using guisettings in advancedsettings.xml might not work anymore or might give unexpected results.}}&lt;br /&gt;
&lt;br /&gt;
You can also define the settings normally defined in the GUI in advancedsettings.xml.  Any GUI based settings defined in advancedsettings.xml will override the GUI values, and the settings will be removed completely from the GUI (ie only alterable by editing advancedsettings.xml).&lt;br /&gt;
&lt;br /&gt;
The easiest way to include a GUI setting is to first make sure it is set in the GUI to the value that you want, and then to open the &#039;&#039;&#039;UserData\guisettings.xml&#039;&#039;&#039; file and find the XML entry that corresponds to that setting.&lt;br /&gt;
&lt;br /&gt;
Then just add that entry to the advancedsettings.xml file.&lt;br /&gt;
&lt;br /&gt;
For instance, to set the Font Character Set for the GUI (found in the appearance setting, in the Look and Feel section), you&#039;d open up guisettings.xml and find:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;lookandfeel&amp;gt;&lt;br /&gt;
    &amp;lt;charset&amp;gt;Hebrew (Windows)&amp;lt;/charset&amp;gt;&lt;br /&gt;
  &amp;lt;/lookandfeel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Simply take that entry and place it in advancedsettings.xml.  The GUI entry for the character set will then no longer appear, and XBMC will always use the Hebrew (Windows) character set.&lt;br /&gt;
&lt;br /&gt;
= List of available settings =&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting settings ==&lt;br /&gt;
&lt;br /&gt;
=== loglevel ===&lt;br /&gt;
{{Anchor|.3Cloglevel.3E}}&lt;br /&gt;
{{see also|debug log}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = loglevel&lt;br /&gt;
 | tag attribute = hide&lt;br /&gt;
 | tag attribute type = true_false&lt;br /&gt;
 | tag attribute values = &lt;br /&gt;
{{option values&lt;br /&gt;
 | value1= true | value1 description= Hides &amp;quot;enable debugging&amp;quot; guisetting.&lt;br /&gt;
 | value2= false | value2 description= &amp;quot;enable debugging&amp;quot; guisetting will switch between min(loglevel, 0) and max(loglevel, 2) for off and on respectively. &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
 | tag attribute default values = true&lt;br /&gt;
 | option type = list&lt;br /&gt;
 | option values = &lt;br /&gt;
{{option values&lt;br /&gt;
 | value1= -1 | value1 description= No logging, suppresses all log output&lt;br /&gt;
 | value2= 0 | value2 description= Normal logging, only logging errors &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
 | value3= 1 | value3 description= Debug logging &#039;&#039;(without showing text on screen)&#039;&#039;&lt;br /&gt;
 | value4= 2 | value4 description= Debug logging with freemem, fps and cpu usage shown on screen&lt;br /&gt;
 | value5= 3 | value5 description= Debug logging with freemem, fps and cpu usage and full smb logging&lt;br /&gt;
}}&lt;br /&gt;
 | default values = 0&lt;br /&gt;
 | example values = &lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 8-12&lt;br /&gt;
 | description = &lt;br /&gt;
The logging level that XBMC will use to log errors and information. The &amp;quot;hide&amp;quot; attribute is optional.&lt;br /&gt;
 | example =&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;loglevel hide=&amp;quot;false&amp;quot;&amp;gt;1&amp;lt;/loglevel&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If debugging is switched on in the GUI, loglevel will be set to 2 (&#039;&#039;log to both file and on-screen information&#039;&#039;); this will over-ride any &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt; setting.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Note| If debugging is switched on in the GUI when XBMC is shut down, then it will be automatically be re-enabled at level 2 when XBMC is re-started. This is true even if &#039;hide&#039; is subsequently set to &#039;true&#039; - in other words, if you enable it in the GUI and then hide the GUI toggle, it will stay on level 2 irrespective of what you subsequently set in &amp;lt;code&amp;gt;advancedsettings.xml&amp;lt;/code&amp;gt;.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;loglevel&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== jsonrpc ===&lt;br /&gt;
{{Anchor|.3Cjsonrpc.3E}}&lt;br /&gt;
To make it easier for developers using the [[JSON RPC]] API in their (third party) applications to debug during development the json output of XBMC can be prettified by setting &#039;&#039;&#039;compactoutput&#039;&#039;&#039; to &#039;&#039;&#039;false&#039;&#039;&#039;. Default json output mode is a compact print which does not contain any unnecessary whitespaces and therefore is difficult to read for humans.&lt;br /&gt;
Furthermore using the &#039;&#039;&#039;tcpport&#039;&#039;&#039; setting it is possible to change the default TCP port used by XBMC for JSON RPC (which is 9090) to any other valid port.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;jsonrpc&amp;gt;&lt;br /&gt;
    &amp;lt;compactoutput&amp;gt;false&amp;lt;/compactoutput&amp;gt;&lt;br /&gt;
    &amp;lt;tcpport&amp;gt;9999&amp;lt;/tcpport&amp;gt;&lt;br /&gt;
&amp;lt;/jsonrpc&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== other - enableairtunesdebuglog ===&lt;br /&gt;
{{see|#enableairtunesdebuglog}}&lt;br /&gt;
&lt;br /&gt;
== Audio/video playback settings ==&lt;br /&gt;
&lt;br /&gt;
=== skiploopfilter ===&lt;br /&gt;
{{anchor|.3Cskiploopfilter.3E}}&lt;br /&gt;
The amount of the loop filter to skip on h264 decoding.  This can help the performance of slower machines when decoding h264 content.  Values, in decreasing CPU usage (and decreasing quality)&lt;br /&gt;
* -16 None&lt;br /&gt;
* 0 Skip only empty frames (default)&lt;br /&gt;
* 8 Skip non-reference frames (default on ATV)&lt;br /&gt;
* 16 Skip bi-dir frames&lt;br /&gt;
* 32 Skip all non-key frames&lt;br /&gt;
* 48 Skip all frames&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;skiploopfilter&amp;gt;8&amp;lt;/skiploopfilter&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== video ===&lt;br /&gt;
{{anchor|.3Cvideo.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify automatic watch and resume points|HOW-TO:Modify time seeking}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;subsdelayrange&amp;gt;10&amp;lt;/subsdelayrange&amp;gt;  &amp;lt;!-- Delay range for subtitles, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;audiodelayrange&amp;gt;10&amp;lt;/audiodelayrange&amp;gt;  &amp;lt;!-- Delay range for audio/video sync, in seconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;smallstepbackseconds&amp;gt;7&amp;lt;/smallstepbackseconds&amp;gt;  &amp;lt;!-- Length of the small skip back when playing a video --&amp;gt;&lt;br /&gt;
  &amp;lt;usetimeseeking&amp;gt;true&amp;lt;/usetimeseeking&amp;gt;  &amp;lt;!-- Whether to use time based or percentage based seeking. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforward&amp;gt;30&amp;lt;/timeseekforward&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a short seek.  Defaults to 30. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackward&amp;gt;-30&amp;lt;/timeseekbackward&amp;gt;  &amp;lt;!-- Time to seek backward in seconds when doing a short seek.  Defaults to -30. --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekforwardbig&amp;gt;600&amp;lt;/timeseekforwardbig&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to 600 (10 minutes). --&amp;gt;&lt;br /&gt;
  &amp;lt;timeseekbackwardbig&amp;gt;-600&amp;lt;/timeseekbackwardbig&amp;gt;  &amp;lt;!-- Time to seek forward in seconds when doing a long seek.  Defaults to -600 (10 minutes). --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforward&amp;gt;2&amp;lt;/percentseekforward&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a short seek.  Defaults to 2. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackward&amp;gt;-2&amp;lt;/percentseekbackward&amp;gt;  &amp;lt;!-- Amount to seek backward as a percentage, when doing a short seek.  Defaults to -2. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekforwardbig&amp;gt;10&amp;lt;/percentseekforwardbig&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to 10. --&amp;gt;&lt;br /&gt;
  &amp;lt;percentseekbackwardbig&amp;gt;-10&amp;lt;/percentseekbackwardbig&amp;gt;  &amp;lt;!-- Amount to seek forward as a percentage, when doing a long seek.  Defaults to -10. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcolour&amp;gt;1&amp;lt;/blackbarcolour&amp;gt;  &amp;lt;!-- colour of the black bars (0-&amp;gt;255), (black-&amp;gt;white) on videos. --&amp;gt;&lt;br /&gt;
  &amp;lt;fullscreenonmoviestart&amp;gt;true&amp;lt;/fullscreenonmoviestart&amp;gt; &amp;lt;!-- Whether to go to fullscreen or not when starting a movie. Defaults to true. --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;dvdplayer&amp;lt;/defaultplayer&amp;gt; &amp;lt;!-- Set the default video player: dvdplayer or extplayer. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;90&amp;lt;/playcountminimumpercent&amp;gt; &amp;lt;!--Minimum percentage that has to be played before it is marked as watched. Set to 101 to never auto-mark items as watched --&amp;gt;&lt;br /&gt;
  &amp;lt;ignoresecondsatstart&amp;gt;180&amp;lt;/ignoresecondsatstart&amp;gt; &amp;lt;!-- Number of seconds to ignore at video start after which a resume point is created --&amp;gt;&lt;br /&gt;
  &amp;lt;ignorepercentatend&amp;gt;8&amp;lt;/ignorepercentatend&amp;gt; &lt;br /&gt;
  &amp;lt;!-- percentage of video to ignore at the end. If you stop watching the video here no resume point is created. Set to 101 to never save a resume point. The video is already marked as watched at 90%, see above. --&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;vdpauscaling&amp;gt;true&amp;lt;/vdpauscaling&amp;gt;&lt;br /&gt;
  &amp;lt;!-- scales with vdpau instead of opengl and turns on its HQ scaler when available, enabling this might slow down rendering and cause framedrops especially on ION systems,&lt;br /&gt;
  this setting requires a vdpau feature set C gpu--&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;enablehighqualityhwscalers&amp;gt;true&amp;lt;/enablehighqualityhwscalers&amp;gt; &amp;lt;!-- allow turning on the spline36 and lanczos3 shader (for GL builds) --&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegdeinterlacing&amp;gt;linblenddeint&amp;lt;/ppffmpegdeinterlacing&amp;gt; &amp;lt;!-- override the deinterlacing options passed to libpostproc --&amp;gt;&lt;br /&gt;
  &amp;lt;ppffmpegpostprocessing&amp;gt;ha:128:7,va,dr&amp;lt;/ppffmpegpostprocessing&amp;gt; &amp;lt;!-- override the post processing options passed to libpostproc when &#039;Video post-processing&#039; is activated in GUI Videos-Settings-Playback --&amp;gt;&lt;br /&gt;
  &amp;lt;allowmpeg4vdpau&amp;gt;true&amp;lt;/allowmpeg4vdpau&amp;gt; &amp;lt;!-- allows mpeg4 decoding with vdpau, currently broken --&amp;gt;&lt;br /&gt;
  &amp;lt;allowmpeg4vaapi&amp;gt;true&amp;lt;/allowmpeg4vaapi&amp;gt; &amp;lt;!-- allows mpeg4 decoding with vaapi, currently broken on Nvidia cards, not implemented on Intel --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscalemaxfps&amp;gt;30&amp;lt;/autoscalemaxfps&amp;gt; &amp;lt;!-- when scaling method is set to auto, bilinear is chosen when the fps is higher than this limit, the default is 30 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Settings for when &amp;quot;Adjust refreshrate to match video fps&amp;quot; is enabled, available since r33806. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- NOT available in the Dharma release or any release before that --&amp;gt;&lt;br /&gt;
  &amp;lt;adjustrefreshrate&amp;gt; &lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- &amp;quot;Adjust refreshrate to match video fps&amp;quot; will try to select the best refreshrate for the video fps --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- but it doesn&#039;t always get it right, for example it might switch to an unsupported refreshrate. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- You can add overrides here to switch to a certain refreshrate based on video fps --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- It&#039;s possible to add as many overrides as you need. --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Overrides are processed in order, if the first one doesn&#039;t match the fps or no refreshrates match --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- that override, it will try the next one until no overrides are left --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fps&amp;gt;23.976&amp;lt;/fps&amp;gt;       &amp;lt;!-- if the fps is between 23.966 and 23.986 --&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;60.0&amp;lt;/refresh&amp;gt; &amp;lt;!-- switch to the first found refreshrate that is between 59.99 and 60.01 --&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;override&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmin&amp;gt;29.96&amp;lt;/fpsmin&amp;gt;        &amp;lt;!-- You can also specify the fps range yourself --&amp;gt;&lt;br /&gt;
      &amp;lt;fpsmax&amp;gt;30.01&amp;lt;/fpsmax&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;59.0&amp;lt;/refreshmin&amp;gt; &amp;lt;!-- Same for the refreshrate --&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;61.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/override&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- It none of the overrides match, or none of the refreshrates match any of the fps matching overrides, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- it will choose a fallback refreshrate. Fallbacks are process in order, if the first fallback doesn&#039;t match --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- any refreshrate, it will try the next one until no fallbacks are left --&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refresh&amp;gt;50.0&amp;lt;/refresh&amp;gt; &amp;lt;!-- switch to the first found refreshrate that is between 49.99 and 50.01. --&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- You can also specify the range for the fallback yourself --&amp;gt;&lt;br /&gt;
    &amp;lt;fallback&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmin&amp;gt;49.0&amp;lt;/refreshmin&amp;gt;&lt;br /&gt;
      &amp;lt;refreshmax&amp;gt;51.0&amp;lt;/refreshmax&amp;gt;&lt;br /&gt;
    &amp;lt;/fallback&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- If none of the overrides match the video fps, or no refreshrates match any of the fps matching overrides, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- and no fallbacks are specified or no refreshrates match any fallbacks, --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- it will automatically choose the best refreshrate (same as having no overrides and fallbacks). --&amp;gt;&lt;br /&gt;
  &amp;lt;/adjustrefreshrate&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;lt;checkdxvacompatibility&amp;gt;value&amp;lt;/checkdxvacompatibility&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Advanced setting not present: let xbmc autodetect cards that support H264 profile &amp;gt; L4.1. Set value to false to enable DXVA no matter what.&lt;br /&gt;
  Set value to true if xbmc doesn&#039;t autodetect that the graphics card doesn&#039;t support &amp;gt; L4.1 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;useocclusionquery&amp;gt;-1&amp;lt;/useocclusionquery&amp;gt; &amp;lt;!--Use an occlusion query when capturing videoframes, -1 means auto detect, 0 means disabled, 1 means enabled, the default is -1.--&amp;gt;&lt;br /&gt;
  &amp;lt;fpsdetect&amp;gt;1&amp;lt;/fpsdetect&amp;gt; &amp;lt;!-- fps detection for video playback, 0 = trust codec fps, 1 = recalculate from video timestamps with uniform spacing, 2 = recalculate from video timestamps always --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;!-- Compensate display latency (video lag). Latency is given in msecs. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Requires {{subst:Name}} 11.0 (Eden) or later. --&amp;gt;&lt;br /&gt;
  &amp;lt;latency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Global default display latency --&amp;gt;&lt;br /&gt;
    &amp;lt;delay&amp;gt;0&amp;lt;/delay&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!--&lt;br /&gt;
      Override latency for given display (not video) refresh rates.&lt;br /&gt;
      When {{subst:Name}} is in windowed mode, override is ignored. Multiple&lt;br /&gt;
      overrides are allowed.&lt;br /&gt;
&lt;br /&gt;
      Syntax of an override entry:&lt;br /&gt;
        &amp;lt;refresh&amp;gt;&lt;br /&gt;
          &amp;lt;min&amp;gt;, &amp;lt;max&amp;gt; refresh rate range, OR&lt;br /&gt;
          &amp;lt;rate&amp;gt; exact refresh rate&lt;br /&gt;
          &amp;lt;delay&amp;gt; display latency for the given refresh rate&lt;br /&gt;
        &amp;lt;/refresh&amp;gt;&lt;br /&gt;
     --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Example: display has 125 msec latency at 23-24 Hz --&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;min&amp;gt;23&amp;lt;/min&amp;gt;&lt;br /&gt;
      &amp;lt;max&amp;gt;24&amp;lt;/max&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;125&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;!-- Example: display has 50 msec latency at 50 (+/-0.01) Hz --&amp;gt;&lt;br /&gt;
    &amp;lt;refresh&amp;gt;&lt;br /&gt;
      &amp;lt;rate&amp;gt;50&amp;lt;/rate&amp;gt;&lt;br /&gt;
      &amp;lt;delay&amp;gt;50&amp;lt;/delay&amp;gt;&lt;br /&gt;
    &amp;lt;/refresh&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/latency&amp;gt;&lt;br /&gt;
    &amp;lt;!-- Filename triggers for 3D (stereoscopic) mode. --&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregex3d&amp;gt;[-. _]3d[-. _]&amp;lt;/stereoscopicregex3d&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregexsbs&amp;gt;[-. _]h?sbs[-. _]&amp;lt;/stereoscopicregexsbs&amp;gt;&lt;br /&gt;
    &amp;lt;stereoscopicregextab&amp;gt;[-. _]h?tab[-. _]&amp;lt;/stereoscopicregextab&amp;gt;&lt;br /&gt;
    &amp;lt;stagefright&amp;gt;&lt;br /&gt;
      &amp;lt;!--  -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist --&amp;gt;&lt;br /&gt;
      &amp;lt;useavccodec&amp;gt;-1&amp;lt;/useavccodec&amp;gt;&lt;br /&gt;
      &amp;lt;usevc1codec&amp;gt;-1&amp;lt;/usevc1codec&amp;gt;&lt;br /&gt;
      &amp;lt;usevpxcodec&amp;gt;-1&amp;lt;/usevpxcodec&amp;gt;&lt;br /&gt;
      &amp;lt;usemp4codec&amp;gt;-1&amp;lt;/usemp4codec&amp;gt;&lt;br /&gt;
      &amp;lt;usempeg2codec&amp;gt;-1&amp;lt;/usempeg2codec&amp;gt;&lt;br /&gt;
      &amp;lt;useswrenderer&amp;gt;false&amp;lt;/useswrenderer&amp;gt;&lt;br /&gt;
    &amp;lt;/stagefright&amp;gt;&lt;br /&gt;
    &amp;lt;disablehi10pmultithreading&amp;gt;false&amp;lt;/disablehi10pmultithreading&amp;gt; &amp;lt;!-- If you want hi10p decoded only on one CPU, set this to true. It will be renamed to disableswmultithreading in v14 Helix --&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{helix note|disablehi10pmultithreading will be renamed to disableswmultithreading in v14 Helix}}&lt;br /&gt;
&lt;br /&gt;
=== audio ===&lt;br /&gt;
{{anchor|.3Caudio.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;audio&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of headroom {{subst:Name}} should use above the maximum volume level, in decibels.  Defaults to 0, valid values 0, 6, 12. --&amp;gt;&lt;br /&gt;
  &amp;lt;headroom&amp;gt;0&amp;lt;/headroom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Default audio player: paplayer or dvdplayer --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultplayer&amp;gt;paplayer&amp;lt;/defaultplayer&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be added to library. --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](podcast)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount of gain (dB) to be applied to AC3 streams that have been mixed-down to 2 channels. Default is 12.0. Valid values are: -96.0 to 96.0. --&amp;gt;&lt;br /&gt;
  &amp;lt;ac3downmixgain&amp;gt;12.0&amp;lt;/ac3downmixgain&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Minimum percentage that has to be played before it is considered for incrementing in the Top 100 database view, or for last.fm submittal --&amp;gt;&lt;br /&gt;
  &amp;lt;playcountminimumpercent&amp;gt;99&amp;lt;/playcountminimumpercent&amp;gt; &lt;br /&gt;
  &amp;lt;!-- Whether to use DRC on AC3 and DTS streams --&amp;gt;&lt;br /&gt;
  &amp;lt;applydrc&amp;gt;true&amp;lt;/applydrc&amp;gt; &lt;br /&gt;
  &amp;lt;!-- set to true to skip decoding of DTS in wav files when using dvdplayer (10.10 only) --&amp;gt;&lt;br /&gt;
  &amp;lt;dvdplayerignoredtsinwav&amp;gt;false&amp;lt;/dvdplayerignoredtsinwav&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterhold&amp;gt;0.025&amp;lt;/limiterhold&amp;gt; &lt;br /&gt;
  &amp;lt;!-- default values for limiter/compressor --&amp;gt;&lt;br /&gt;
  &amp;lt;limiterrelease&amp;gt;0.1&amp;lt;/limiterrelease&amp;gt; &lt;br /&gt;
&amp;lt;/audio&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For more information on the configuration of audio under Frodo see [[AudioEngine/HOW-TO: Configure audio]]&lt;br /&gt;
&lt;br /&gt;
=== measurerefreshrate ===&lt;br /&gt;
{{anchor|.3Cmeasurerefreshrate.3E}}&lt;br /&gt;
When using &amp;quot;Sync playback to display&amp;quot; on Windows, the detected refreshrate might be wrong.&lt;br /&gt;
When enabling measurerefreshrate, the refreshrate is measured instead, which makes it more accurate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;measurerefreshrate&amp;gt;true&amp;lt;/measurerefreshrate&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== edl ===&lt;br /&gt;
{{anchor|.3Cedl.3E}}&lt;br /&gt;
{{main|EDL}}&lt;br /&gt;
Commercial break detection not as good you think it could be? Are some commercial breaks in a series of adverts not being skipped? Are some parts being skipped that are clearly not commercials? Does the end of the previous recording still show? The following advanced settings can be used to better identify full commercial break sequences, remove incorrectly flagged commercial breaks, and have playback start at the actual beginning of the recording.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;edl&amp;gt;&lt;br /&gt;
  &amp;lt;!-- if true, commercial breaks will be merged according to the remaining options. --&amp;gt;&lt;br /&gt;
  &amp;lt;mergeshortcommbreaks&amp;gt;false&amp;lt;/mergeshortcommbreaks&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks won&#039;t be merged if the total length of the commercial break would be greater than this (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreaklength&amp;gt;250&amp;lt;/maxcommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- After merging, commercial breaks shorter than this will be removed (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;mincommbreaklength&amp;gt;90&amp;lt;/mincommbreaklength&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Commercial breaks that are further apart than this won&#039;t be merged (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;maxcommbreakgap&amp;gt;120&amp;lt;/maxcommbreakgap&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to wait before automatically skipping when the start of a commercial break reached (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowait&amp;gt;0&amp;lt;/commbreakautowait&amp;gt;&lt;br /&gt;
  &amp;lt;!-- How long to rewind after automatically skipping to the end of the commercial break (seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;commbreakautowind&amp;gt;0&amp;lt;/commbreakautowind&amp;gt;&lt;br /&gt;
&amp;lt;/edl&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pvr ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pvr&amp;gt;&lt;br /&gt;
  &amp;lt;timecorrection&amp;gt;0&amp;lt;/timecorrection&amp;gt;  &amp;lt;!-- Correct all times (epg tags, timer tags, recording tags) by this amount of minutes. --&amp;gt;&lt;br /&gt;
  &amp;lt;infotoggleinterval&amp;gt;3000&amp;lt;/infotoggleinterval&amp;gt;  &amp;lt;!-- If there is more than one pvr gui info item available (e.g. multiple recordings active at the same time), use this toggle delay in milliseconds. --&amp;gt;&lt;br /&gt;
  &amp;lt;minvideocachelevel&amp;gt;5&amp;lt;/minvideocachelevel&amp;gt; &amp;lt;!-- Cache up to this level in the video buffer buffer before resuming playback if the buffers run dry. --&amp;gt;&lt;br /&gt;
  &amp;lt;minaudiocachelevel&amp;gt;10&amp;lt;/minaudiocachelevel&amp;gt; &amp;lt;!-- Cache up to this level in the audio buffer before resuming playback if the buffers run dry. --&amp;gt;&lt;br /&gt;
  &amp;lt;cacheindvdplayer&amp;gt;true&amp;lt;/cacheindvdplayer&amp;gt; &amp;lt;!-- Cache PVR stream in DVDPlayer. --&amp;gt;&lt;br /&gt;
  &amp;lt;channeliconsautoscan&amp;gt;true&amp;lt;/channeliconsautoscan&amp;gt; &amp;lt;!-- Automatically scan user defined folder for channel icons when loading internal channel groups. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoscaniconsuserset&amp;gt;false&amp;lt;/autoscaniconsuserset&amp;gt; &amp;lt;!-- Mark channel icons populated by auto scan as &amp;quot;user set&amp;quot;. --&amp;gt;&lt;br /&gt;
  &amp;lt;numericchannelswitchtimeout&amp;gt;1000&amp;lt;/numericchannelswitchtimeout&amp;gt; &amp;lt;!-- Time in ms before the numeric dialog auto closes when confirmchannelswitch is disabled. --&amp;gt;&lt;br /&gt;
&amp;lt;/pvr&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== epg ===&lt;br /&gt;
{{anchor|.3Cpvr.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;epg&amp;gt;&lt;br /&gt;
  &amp;lt;lingertime&amp;gt;1440&amp;lt;/lingertime&amp;gt;  &amp;lt;!-- keep X minutes of past epg data (default: 24h) --&amp;gt;&lt;br /&gt;
  &amp;lt;updatecheckinterval&amp;gt;300&amp;lt;/updatecheckinterval&amp;gt;  &amp;lt;!-- check if tables need to be updated every X minutes --&amp;gt;&lt;br /&gt;
  &amp;lt;lingercleanupintervaltime&amp;gt;900&amp;lt;/cleanupinterval&amp;gt;  &amp;lt;!-- remove old entries from the EPG every X minutes --&amp;gt;&lt;br /&gt;
  &amp;lt;activetagcheckinterval&amp;gt;60&amp;lt;/activetagcheckinterval&amp;gt;  &amp;lt;!-- check for updated active tags every X minute --&amp;gt;&lt;br /&gt;
  &amp;lt;retryinterruptedupdateinterval&amp;gt;30&amp;lt;/retryinterruptedupdateinterval&amp;gt;  &amp;lt;!-- retry an interrupted epg update after X seconds --&amp;gt;&lt;br /&gt;
  &amp;lt;updateemptytagsinterval&amp;gt;60&amp;lt;/updateemptytagsinterval&amp;gt;  &amp;lt;!-- override user selectable EPG update interval (minutes) for empty EPG tags --&amp;gt;&lt;br /&gt;
  &amp;lt;displayupdatepopup&amp;gt;true&amp;lt;/displayupdatepopup&amp;gt;  &amp;lt;!-- display a progress popup while updating EPG data from clients --&amp;gt;&lt;br /&gt;
  &amp;lt;displayincrementalupdatepopup&amp;gt;false&amp;lt;/displayincrementalupdatepopup&amp;gt;  &amp;lt;!-- also display a progress popup while doing incremental EPG updates --&amp;gt;&lt;br /&gt;
&amp;lt;/epg&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forcedswaptime ===&lt;br /&gt;
{{anchor|.3Cforcedswaptime.3E}}&lt;br /&gt;
Use to force a backbuffer-&amp;gt;frontbuffer swap while vsync is enabled. Set to the time (in ms) to allow for the swap (e.g. &amp;lt;forcedswaptime&amp;gt;1&amp;lt;/forcedswaptime&amp;gt; is typical).  &lt;br /&gt;
&lt;br /&gt;
Default: Off&lt;br /&gt;
&lt;br /&gt;
== Video library settings ==&lt;br /&gt;
&lt;br /&gt;
=== videoextensions ===&lt;br /&gt;
{{anchor|.3Cvideoextensions.3E}}&amp;lt;section begin=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Video windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for VIDEOS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.m4v .3gp .nsv .ts .ty .strm .rm .rmvb .m3u .ifo .mov .qt .divx .xvid .bivx .vob .nrg .img&lt;br /&gt;
.iso .pva .wmv .asf .asx .ogm .m2v .avi .bin .dat .dvr-ms .mpg .mpeg .mp4 .mkv .avc .vp3 &lt;br /&gt;
.svq3 .nuv .viv .dv .fli .flv .rar .001 .wpl .zip&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videoextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/videoextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videoextensions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== discstubextensions ===&lt;br /&gt;
{{anchor|.3Cdiscstubextensions.3E}}&lt;br /&gt;
A list of additional file-extensions that will (&amp;lt;tt&amp;gt;&amp;lt;add&amp;gt;&amp;lt;/tt&amp;gt;) or will not (&amp;lt;tt&amp;gt;&amp;lt;remove&amp;gt;&amp;lt;/tt&amp;gt;) be treated as disc stubs.&lt;br /&gt;
&lt;br /&gt;
Default extensions for DISC STUBS:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.disc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;discstubextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.dvd|.blu&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.cd|.vhs&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/discstubextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== languagecodes ===&lt;br /&gt;
{{anchor|.3Clanguagecodes.3E}}&lt;br /&gt;
Translation table for subtitle and audio names.  Contains entries of the form&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;languagecodes&amp;gt;&lt;br /&gt;
  &amp;lt;code&amp;gt;&lt;br /&gt;
    &amp;lt;short&amp;gt;alt&amp;lt;/short&amp;gt;&lt;br /&gt;
    &amp;lt;long&amp;gt;Alternate&amp;lt;/long&amp;gt;&lt;br /&gt;
  &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/languagecodes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sorttokens ===&lt;br /&gt;
{{anchor|.3Csorttokens.3E}}&lt;br /&gt;
Allows you to specify additional tokens that will be ignored at the start of lines during sorting.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;sorttokens&amp;gt;&lt;br /&gt;
  &amp;lt;token&amp;gt;the&amp;lt;/token&amp;gt;&lt;br /&gt;
&amp;lt;/sorttokens&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== moviestacking ===&lt;br /&gt;
{{anchor|.3Cmoviestacking.3E}}&amp;lt;section begin=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
This is used by the [[File Stacking]] algorithm to combine multi-part files and contains a list of &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
As of XBMC v9.11, video stacking regular expressions &#039;&#039;&#039;must&#039;&#039;&#039; contain exactly four (4) capture expressions. Old ones and three capture expressions are dropped (see [[Log file|log]]). More information on how the algorithm works is available [[File Stacking#How does it work.3F|here]].&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc/d&amp;gt; &amp;lt;0-N&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[0-9]+)(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- &amp;lt;cd/dvd/part/pt/disk/disc/d&amp;gt; &amp;lt;a-d&amp;gt; --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ _.-]*(?:cd|dvd|p(?:ar)?t|dis[ck]|d)[ _.-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;!-- movienamea-xvid.avi, movienameb-xvid.avi --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[a-d])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;append=&amp;quot;yes&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the end.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;append&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This expression will match movename1-xvid.avi, moviename2-xvid.avi.&lt;br /&gt;
         Be warned that it will likely stack sequels in a flat directory layout,&lt;br /&gt;
         so it is only recommend in a dir-per-video layout. --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(.*?)([ ._-]*[0-9])(.*?)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If the argument &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions will remain intact and the user specified ones will be added to the beginning. &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;moviestacking action=&amp;quot;prepend&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;(Title)(Volume)(Ignore)(Extension)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/moviestacking&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If no argument is supplied, or the argument &amp;lt;tt&amp;gt;append=&amp;quot;no&amp;quot;&amp;lt;/tt&amp;gt; is supplied, the default moviestacking regular expressions are overwritten by the user specified ones.&lt;br /&gt;
&amp;lt;section end=&amp;quot;moviestacking&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cleandatetime ===&lt;br /&gt;
{{anchor|.3Ccleandatetime.3E}}&lt;br /&gt;
Matches a year number in a string using a &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expression]]&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Default expression:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleandatetime&amp;gt;(.+[^ _\,\.\(\)\[\]\-])[ _\.\(\)\[\]\-]+(19[0-9][0-9]|20[0-1][0-9])([ _\,\.\(\)\[\]\-][^0-9]|$)&amp;lt;/cleandatetime&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* The string found before will be used as basis string getting cleaned by the cleanstrings expressions. &lt;br /&gt;
:* By default date formats like MM:YY are ignored.&lt;br /&gt;
&lt;br /&gt;
=== cleanstrings ===&lt;br /&gt;
{{anchor|.3Ccleanstrings.3E}}&lt;br /&gt;
Clean unwanted characters from filenames or folders by using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;. Please note that everything right of the match (at the end of the file name) is removed, so if you would have a file named &#039;&#039;Super movie.mp4&#039;&#039; and would add &amp;lt;tt&amp;gt;&amp;lt;regexp&amp;gt; &amp;lt;/regexp&amp;gt;&amp;lt;/tt&amp;gt; (only a space), the only thing that would be left is &#039;&#039;Super&#039;&#039;, which is probably not what you want.&lt;br /&gt;
&lt;br /&gt;
Default expressions:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;cleanstrings&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;[ _\,\.\(\)\[\]\-](ac3|dts|custom|dc|divx|divx5|dsr|dsrip|dutch|dvd|dvdrip|dvdscr|dvdscreener|screener|dvdivx|cam|fragment|fs|hdtv|hdrip|hdtvrip|internal|limited|multisubs|ntsc|ogg|ogm|pal|pdtv|proper|repack|rerip|retail|cd[1-9]|r3|r5|bd5|se|svcd|swedish|german|read.nfo|nfofix|unrated|ws|telesync|ts|telecine|tc|brrip|bdrip|480p|480i|576p|576i|720p|720i|1080p|1080i|hrhd|hrhdtv|hddvd|bluray|x264|h264|xvid|xvidvd|xxx|www.www|\[.*\])([ _\,\.\(\)\[\]\-]|$)&amp;lt;/regexp&amp;gt;&lt;br /&gt;
   &amp;lt;regexp&amp;gt;(\[.*\])&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/cleanstrings&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== tvshowmatching ===&lt;br /&gt;
{{anchor|.3Ctvshowmatching.3E}}&lt;br /&gt;
Matches the season and episode numbers in file paths by using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvshowmatching&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[Ss]([0-9]+)[][ ._-]*[Ee]([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.s01.e01, foo.s01_e01, S01E02 foo, S01 - E02 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\._ -]()[Ee][Pp]_?([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.ep01, foo.EP_01 --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{4})[\.-]([0-9]{2})[\.-]([0-9]{2})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.yyyy.mm.dd.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;([0-9]{2})[\.-]([0-9]{2})[\.-]([0-9]{4})&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.mm.dd.yyyy.* (byDate=true) --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ \[\(-]([0-9]+)x([0-9]+)([^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.1x09* or just /1x09* --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\\/\._ -]([0-9]+)([0-9][0-9])([\._ -][^\\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- foo.103*, 103 foo --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[\/._ -]p(?:ar)?t[_. -]()([ivx]+)([._ -][^\/]*)$&amp;lt;/regexp&amp;gt;  &amp;lt;!-- Part I, Pt.VI --&amp;gt;&lt;br /&gt;
&amp;lt;/tvshowmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
:* Expressions are converted to lower case before being evaluated. &#039;&#039;(XBMC v13.0 alpha4 and earlier only)&#039;&#039;&lt;br /&gt;
:* Paths are converted to lower case before matching.&lt;br /&gt;
:* Examples of matching regexps for certain filenames can be found on the [[TV Shows (Video Library)|TV shows]] page.&lt;br /&gt;
&lt;br /&gt;
:* For multi-episode matching to work, there needs to be a third set of parentheses &#039;()&#039; at the end, this part is fed back into the regexp engine.&lt;br /&gt;
&lt;br /&gt;
:* A [http://forum.xbmc.org/showthread.php?t=51614 forum thread] has a discussion of pre-made regex lists to match common names. These drastically improve XMBC&#039;s ability to match TV show names, at the risk of some additional false positives.&lt;br /&gt;
&lt;br /&gt;
==== Filenames without Season ====&lt;br /&gt;
There are two methods to add episodes without a season in their file path. Both ways will force the season to &#039;1&#039;, so that you can use&lt;br /&gt;
the &#039;Use Absolute Ordering (Single Season)&#039; setting from the TheTvDb.com scraper.&lt;br /&gt;
&lt;br /&gt;
; Simple Method &#039;&#039;(XBMC v9.11 onwards)&#039;&#039;&lt;br /&gt;
: Use only one pair of parentheses&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]([0-9]+)&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
; Advanced Method &#039;&#039;(XBMC v10.05 onwards)&#039;&#039;&lt;br /&gt;
: Supports multi-episode files without season&lt;br /&gt;
: Use an empty pair of parentheses for the season&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;regexp&amp;gt;[/\._ \-]()([0-9]+)(-[0-9]+)?&amp;lt;/regexp&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tvmultipartmatching ===&lt;br /&gt;
{{anchor|.3Ctvmultipartmatching.3E}}&lt;br /&gt;
Matches a multipart episode number based on a previously identified episode file, using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tvmultipartmatching&amp;gt;^[-_EeXx]+([0-9]+)&amp;lt;/tvmultipartmatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
:* Text matching is compared case-insensitive.&lt;br /&gt;
&lt;br /&gt;
=== excludefromscan ===&lt;br /&gt;
{{anchor|.3Cexcludefromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a library scan (except tvshows) using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;. This can be for both Video or Audio sections of &amp;lt;tt&amp;gt;advancedsettings.xml&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludefromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;-trailer&amp;lt;/regexp&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== excludefromlisting ===&lt;br /&gt;
{{anchor|.3Cexcludefromlisting.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;  &lt;br /&gt;
  &amp;lt;excludefromlisting&amp;gt; &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in Files View --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludefromlisting&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== excludetvshowsfromscan ===&lt;br /&gt;
{{anchor|.3Cexcludetvshowsfromscan.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from a tvshow library scan using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Defaults:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;video&amp;gt;&lt;br /&gt;
  &amp;lt;excludetvshowsfromscan&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;[!-._ \\/]sample[-._ \\/]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/excludetvshowsfromscan&amp;gt;&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:* Arguments &amp;lt;tt&amp;gt;action=&amp;quot;append&amp;quot;&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;action=&amp;quot;prepend&amp;quot;&amp;lt;/tt&amp;gt; will insert user specified expressions after, or before, the defaults above. (Further details in [[Advancedsettings.xml#.3Cmoviestacking.3E|moviestacking]] section)&lt;br /&gt;
&lt;br /&gt;
=== trailermatching ===&lt;br /&gt;
{{anchor|.3Ctrailermatching.3E}}&lt;br /&gt;
Contains &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expression]]&#039;&#039;&amp;quot; syntax (commonly referred to as &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|RegEx]]&#039;&#039;&amp;quot; or &amp;quot;&#039;&#039;[[Regular Expression (RegEx) Tutorial|RegExp]]&#039;&#039;&amp;quot;) to match the locally stored trailers to movies in the library.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;trailermatching&amp;gt;&lt;br /&gt;
    &amp;lt;!-- This regexp will match moviename_Trailer.avi --&amp;gt;&lt;br /&gt;
    &amp;lt;regexp&amp;gt;(.*?)(_Trailer)(\.[^.]+)$&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;/trailermatching&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videolibrary ===&lt;br /&gt;
{{anchor|.3Cvideolibrary.3E}}&lt;br /&gt;
Options specific to the Video Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videolibrary&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;false&amp;lt;/allitemsonbottom&amp;gt;  &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;backgroundupdate&amp;gt;false&amp;lt;/backgroundupdate&amp;gt; &amp;lt;!-- set to hide the video scanner dialog from the gui --&amp;gt;&lt;br /&gt;
    &amp;lt;!-- NOTE: To get this working properly, you have to do a &#039;Clean Library&#039; in settings the first time after you enable the setting. --&amp;gt;&lt;br /&gt;
    &amp;lt;cleanonupdate&amp;gt;false&amp;lt;/cleanonupdate&amp;gt;  &amp;lt;!-- default set to false to prevent xbmc from removing items from the database while updating.  --&amp;gt;&lt;br /&gt;
    &amp;lt;hideallitems&amp;gt;false&amp;lt;/hideallitems&amp;gt;  &amp;lt;!-- removes the &amp;quot;*All&amp;quot; items from the video library --&amp;gt;&lt;br /&gt;
    &amp;lt;hideemptyseries&amp;gt;false&amp;lt;/hideemptyseries&amp;gt;  &amp;lt;!-- hide empty series in the video library --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;  &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
    &amp;lt;exportautothumbs&amp;gt;false&amp;lt;/exportautothumbs&amp;gt;  &amp;lt;!-- export auto-generated thumbs. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importwatchedstate&amp;gt;false&amp;lt;/importwatchedstate&amp;gt;  &amp;lt;!-- import previously exported playdate and playcount from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;importresumepoint&amp;gt;false&amp;lt;/importresumepoint&amp;gt;  &amp;lt;!-- import previously exported resume point from .nfo files. Defaults to false --&amp;gt;&lt;br /&gt;
    &amp;lt;mymovies&amp;gt;  &amp;lt;!-- Options specific to MyMovies XML file parsing --&amp;gt;&lt;br /&gt;
      &amp;lt;categoriestogenres&amp;gt;false&amp;lt;/categoriestogenres&amp;gt;  &amp;lt;!-- Add MyMovies Custom Categories to {{subst:Name}} Genres (boolean, default is false) --&amp;gt;&lt;br /&gt;
    &amp;lt;/mymovies&amp;gt;&lt;br /&gt;
    &amp;lt;dateadded&amp;gt;1&amp;lt;/dateadded&amp;gt; &amp;lt;!-- 0 results in using the current datetime when adding a video;&lt;br /&gt;
                                  1 (default) results in prefering to use the files mtime (if it&#039;s valid) and only using the file&#039;s ctime if the mtime isn&#039;t valid;&lt;br /&gt;
                                  2 results in using the newer datetime of the file&#039;s mtime and ctime --&amp;gt;&lt;br /&gt;
  &amp;lt;/videolibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== videoscanner ===&lt;br /&gt;
{{anchor|.3Cvideoscanner.3E}}&lt;br /&gt;
Options specific to the Video scanner&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;videoscanner&amp;gt;&lt;br /&gt;
    &amp;lt;ignoreerrors&amp;gt;true&amp;lt;/ignoreerrors&amp;gt; &amp;lt;!-- Set to true to silently ignore errors while scanning videos. This prevents the error dialogue box, so you don&#039;t have to keep hitting &amp;quot;yes&amp;quot; to keep scanning.--&amp;gt;&lt;br /&gt;
  &amp;lt;/videoscanner&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== myth ===&lt;br /&gt;
{{anchor|.3Cmyth.3E}}&lt;br /&gt;
Not seeing all the recordings you expected in the Movies folder? If so, it&#039;s very likely that the electronic program guide (EPG) used by MythTV doesn&#039;t accurately distinguish between TV Shows and Movies all the time. The following setting allows the length of the recording to also be used to determine if a recording is a Movie.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;myth&amp;gt;&lt;br /&gt;
   &amp;lt;!-- Recordings longer than this will be added to the Movies folder (minutes). 0 = off --&amp;gt;&lt;br /&gt;
  &amp;lt;movielength&amp;gt;0&amp;lt;/movielength&amp;gt;&lt;br /&gt;
&amp;lt;/myth&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Library artwork ==&lt;br /&gt;
&lt;br /&gt;
=== imageres ===&lt;br /&gt;
{{anchor|.3Cimageres.3E}}&lt;br /&gt;
This tag is new for v12 (Frodo), replacing &amp;lt;thumbsize&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;imageres description&amp;quot; /&amp;gt;Specify the maximal resolution that art should be resized to in pixels. The width is automatically calculated as being 16/9*height.  The image will be resized to fit within this size. e.g. an image that is 2000x500 will be cached at size 1280x320. An image that is 500x800 will be cached at size 450x720 using the default value of 720.&amp;lt;section end=&amp;quot;imageres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageres&amp;gt;720&amp;lt;/imageres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanartres ===&lt;br /&gt;
{{anchor|.3Cfanartres.3E}}&lt;br /&gt;
This tag is new for v12 (Frodo), replacing &amp;lt;fanartheight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;fanartres description&amp;quot; /&amp;gt;Specify the resolution that cached fanart should be resized to in pixels. The width is automatically calculated as being 16/9*height. Only images that are exactly 16x9 and equal to or greater than this resolution will be cached at this size - all other images will be cached using &amp;lt;imageres&amp;gt;. The default value is 1080.&amp;lt;section end=&amp;quot;fanartres description&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanartres&amp;gt;1080&amp;lt;/fanartres&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fanart ===&lt;br /&gt;
{{anchor|.3Cfanart.3E}}&lt;br /&gt;
As of v12 (Frodo), this tag is only used for music and not video.&lt;br /&gt;
&lt;br /&gt;
A list of additional files to try when searching for fanart images.  (The defaults are fanart.jpg and fanart.png which can be removed.)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fanart&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;fanart.jpg&amp;lt;/remove&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;backdrop.jpg&amp;lt;/add&amp;gt;&lt;br /&gt;
&amp;lt;/fanart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicthumbs ===&lt;br /&gt;
{{anchor|.3Cmusicthumbs.3E}}&lt;br /&gt;
A list of additional files to try when searching for music thumbnail images.  (The default is folder.jpg which can be removed.)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicthumbs&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;folder.jpg&amp;lt;/remove&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;thumb.jpg|cover.jpg&amp;lt;/add&amp;gt;&lt;br /&gt;
&amp;lt;/musicthumbs&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== useddsfanart ===&lt;br /&gt;
{{anchor|.3Cuseddsfanart.3E}}&lt;br /&gt;
This settings allows XBMC to use your GPU rendering fanart and some other images. This will make loading images considerably faster, especially on systems with slower processors (e.g. atom based systems). Do not use this option on ARM based systems (Apple TV2/iOS/RPi/many Android systems) as it is likely to degrade performance because DDS images are not supported.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;useddsfanart&amp;gt;true&amp;lt;/useddsfanart&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Video and music library settings ==&lt;br /&gt;
&lt;br /&gt;
=== playlistasfolders ===&lt;br /&gt;
{{anchor|.3Cplaylistasfolders.3E}}&lt;br /&gt;
In the recent releases, playlists are treated as folders. Selecting a playlist no longer plays it, but opens it, as if it were a folder.&lt;br /&gt;
&lt;br /&gt;
Set to false to revert to the previous behaviour. When you select a playlist, its content is added to the list of elements to be played.&lt;br /&gt;
&lt;br /&gt;
:{{note|This setting will not affect smart playlists, they will always show as folders.}}&lt;br /&gt;
&lt;br /&gt;
;Example&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlistasfolders&amp;gt;true&amp;lt;/playlistasfolders&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlistretries ===&lt;br /&gt;
{{anchor|.3Cplaylistretries.3E}}&lt;br /&gt;
The number of retries attempted if a source is offline. With this control you can alter the number of consecutive failed items before a playlist fails.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;playlistretries&amp;gt;100&amp;lt;/playlistretries&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== playlisttimeout ===&lt;br /&gt;
{{anchor|.3Cplaylisttimeout.3E}}&lt;br /&gt;
The timeout, in seconds, before item failure.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;playlisttimeout&amp;gt;20&amp;lt;/playlisttimeout&amp;gt; &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicdatabase/videodatabase ===&lt;br /&gt;
{{anchor|.3Cmusicdatabase.3E/.3Cvideodatabase.3E}}&lt;br /&gt;
{{see also|MySQL}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
Allows advanced customization of the default database settings for both music and video.&lt;br /&gt;
&lt;br /&gt;
:{{note| &#039;&#039;&#039;It is HIGHLY recommended that you not attempt to place an sqlite3 database outside of XBMC&#039;s path.  sqlite3 contains no filesystem abstraction, so this will plain break on any non-local (as far as XBMC is concerned) paths.  Use this for mysql only.&#039;&#039;&#039;}}&lt;br /&gt;
&#039;&#039;&#039;type&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Can be either &amp;quot;sqlite3&amp;quot; or &amp;quot;mysql&amp;quot; (default: sqlite3)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;host&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: defines the relative path to the database file (eg. /usr/local/xbmc/databases).&lt;br /&gt;
&lt;br /&gt;
mysql: defines the host of the mysql socket (eg. localhost, 192.168.0.1, etc)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;port&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the port of the mysql socket (default: 3306)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;name&#039;&#039;&#039;&lt;br /&gt;
:&#039;&#039;Not needed by default, and some users report issues when defining the this tag. When not used &amp;quot;MyVideos&amp;quot;+DB number will be used.&lt;br /&gt;
sqlite3: defines the name of the database file to read from, excluding the &amp;quot;.db&amp;quot; extension.&lt;br /&gt;
&lt;br /&gt;
mysql: defines the name of the database to use&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;user&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;pass&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
sqlite3: silently ignored&lt;br /&gt;
&lt;br /&gt;
mysql: defines the password for the user with privileged access to the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Examples:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
1) Configure a database for MySQL.&lt;br /&gt;
:{{note| &#039;&#039;The videodatabase and musicdatabase tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;videodatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;mysql&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;192.168.0.10&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;xbmc_video&amp;lt;/name&amp;gt;&lt;br /&gt;
  &amp;lt;user&amp;gt;xbmc&amp;lt;/user&amp;gt;&lt;br /&gt;
  &amp;lt;pass&amp;gt;xbmc&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/videodatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Configure a database for an sqlite database.&lt;br /&gt;
:{{note|&#039;&#039;The videodatabase and musicdatabase tags are interchangeable here.&#039;&#039;}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicdatabase&amp;gt;&lt;br /&gt;
  &amp;lt;type&amp;gt;sqlite3&amp;lt;/type&amp;gt;&lt;br /&gt;
  &amp;lt;host&amp;gt;/usr/local/share/xbmc/databases&amp;lt;/host&amp;gt;&lt;br /&gt;
  &amp;lt;name&amp;gt;xbmc_music&amp;lt;/name&amp;gt;&lt;br /&gt;
&amp;lt;/musicdatabase&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{note| &#039;&#039;If you use MySQL for the music database, but are finding that it slows down your music library significantly, execute the following query to create an index on the song table.  This will significantly speed up queries using the songview views looking up by artist:&#039;&#039; }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;sql&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
CREATE INDEX ixSongArtist&lt;br /&gt;
    ON song(idArtist, idAlbum)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;videodatabase&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== externalplayer ===&lt;br /&gt;
{{anchor|.3Cexternalplayer.3E}}&lt;br /&gt;
{{see|External players}}&lt;br /&gt;
&lt;br /&gt;
== Music settings ==&lt;br /&gt;
&lt;br /&gt;
=== musicextensions ===&lt;br /&gt;
{{anchor|.3Cmusicextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Music windows.&lt;br /&gt;
&lt;br /&gt;
Default extensions for MUSIC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.nsv .m4a .flac .aac .strm .pls .rm .mpa .wav .wma .ogg .mp3 .mp2 .m3u .mod .amf .669 .dmf .dsm .far .gdm &lt;br /&gt;
.imf .it .m15 .med .okt .s3m .stm .sfx .ult .uni .xm .sid .ac3 .dts .cue .aif .aiff .wpl .ape .mac .mpc &lt;br /&gt;
.mp+ .mpp .shn .zip .rar .wv .nsf .spc .gym .adplug .adx .dsp .adp .ymf .ast .afc .hps .xsp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/musicextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cddbaddress ===&lt;br /&gt;
{{anchor|.3Ccddbaddress.3E}}&lt;br /&gt;
The address of the online CDDb database.  You may set this to another freedb mirror if there is a more suitable one.  &lt;br /&gt;
&lt;br /&gt;
Default: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;XML&amp;quot; enclose=&amp;quot;div&amp;gt;&lt;br /&gt;
&amp;lt;cddbaddress&amp;gt;freedb.freedb.org&amp;lt;/cddbaddress&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== songinfoduration ===&lt;br /&gt;
{{anchor|.3Csonginfoduration.3E}}&lt;br /&gt;
This controls how long the song information will remain onscreen when the song changes during visualisations.  The valid range is &amp;quot;1&amp;quot; to &amp;quot;Indefinite (0)&amp;quot;, in seconds.  This does not include the duration of any transition effects. &lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;songinfoduration&amp;gt;10&amp;lt;/songinfoduration&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musicfilenamefilters ===&lt;br /&gt;
{{anchor|.3Cmusicfilenamefilters.3E}}&lt;br /&gt;
Contains filters to match music information (artist, title etc.) from a tag-less music filename.  The first &amp;lt;filter&amp;gt; to match completely is used. Matched items include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%A - Artist&lt;br /&gt;
%T - Title&lt;br /&gt;
%B - Album&lt;br /&gt;
%N - Track number&lt;br /&gt;
%S - Part of set (disk number)&lt;br /&gt;
%D - Duration&lt;br /&gt;
%G - Genre&lt;br /&gt;
%Y - Year&lt;br /&gt;
%R - Rating&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;musicfilenamefilters&amp;gt;&lt;br /&gt;
  &amp;lt;filter&amp;gt;%A - %T&amp;lt;/filter&amp;gt;&lt;br /&gt;
&amp;lt;/musicfilenamefilters&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== musiclibrary ===&lt;br /&gt;
{{anchor|.3Cmusiclibrary.3E}}&lt;br /&gt;
Options specific to the Music Library&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;musiclibrary&amp;gt;&lt;br /&gt;
    &amp;lt;hideallitems&amp;gt;true&amp;lt;/hideallitems&amp;gt; &amp;lt;!-- removes the &amp;quot;*All&amp;quot; items from the music library --&amp;gt;&lt;br /&gt;
    &amp;lt;allitemsonbottom&amp;gt;true&amp;lt;/allitemsonbottom&amp;gt; &amp;lt;!-- sorts the &amp;quot;*All&amp;quot; items at the bottom of the list when in Ascending order --&amp;gt;&lt;br /&gt;
    &amp;lt;backgroundupdate&amp;gt;true&amp;lt;/backgroundupdate&amp;gt; &amp;lt;!-- set to hide the music scanner dialog from the gui --&amp;gt;&lt;br /&gt;
    &amp;lt;recentlyaddeditems&amp;gt;35&amp;lt;/recentlyaddeditems&amp;gt; &amp;lt;!-- number of recently added items. Defaults to 25 --&amp;gt;&lt;br /&gt;
    &amp;lt;albumssortbyartistthenyear&amp;gt;true&amp;lt;/albumssortbyartistthenyear&amp;gt;    &amp;lt;!-- at an albums listing, when you sort by artist, secondary sort will be year. --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformat&amp;gt;%B - %Y&amp;lt;/albumformat&amp;gt;  &amp;lt;!-- album label template, default is &amp;quot;%B&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;albumformatright&amp;gt;%A&amp;lt;/albumformatright&amp;gt;  &amp;lt;!-- album label template for right column, default is &amp;quot;%A&amp;quot; --&amp;gt;&lt;br /&gt;
    &amp;lt;prioritiseapetags&amp;gt;true&amp;lt;/prioritiseapetags&amp;gt;  &amp;lt;!-- prioritise APEv2 tags over ID3v1/2 tags, default is false. --&amp;gt;&lt;br /&gt;
    &amp;lt;itemseparator&amp;gt; / &amp;lt;/itemseparator&amp;gt;    &amp;lt;!-- separator used for multiple artists/genres in tags. Note, this is *space* *slash* *space* --&amp;gt;&lt;br /&gt;
  &amp;lt;/musiclibrary&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== karaoke ===&lt;br /&gt;
{{anchor|.3Ckaraoke.3E}}&lt;br /&gt;
{{Main|Karaoke}}&amp;lt;section begin=&amp;quot;karaoke&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;karaoke&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Music-lyrics delay for CDG format lyrics in SECONDS. Floating number, may be negative. --&amp;gt;&lt;br /&gt;
  &amp;lt;syncdelaycdg&amp;gt;0.0&amp;lt;/syncdelaycdg&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Music-lyrics delay for LRC format lyrics in 1/10 seconds. Floating number, may be negative. --&amp;gt;&lt;br /&gt;
  &amp;lt;syncdelaylrc&amp;gt;0.0&amp;lt;/syncdelaylrc&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true, when the songs are added to the library, {{subst:Name}} will automatically replace the song genre by &amp;quot;Karaoke&amp;quot;&lt;br /&gt;
    if the song has associated lyrics. Default is false. --&amp;gt;&lt;br /&gt;
  &amp;lt;alwaysreplacegenre&amp;gt;false&amp;lt;/alwaysreplacegenre&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true, when the music-lyrics delay was modified while playing using subtitle delay buttons, the delay value&lt;br /&gt;
    for this song will be stored, and restored when the song is played next time. Default is true. --&amp;gt;&lt;br /&gt;
  &amp;lt;storedelay&amp;gt;true&amp;lt;/storedelay&amp;gt;&lt;br /&gt;
  &amp;lt;!-- When karaoke songs are added to the library during scans, an autoincrement number is automatically assigned&lt;br /&gt;
 to each song, starting from the value specified below. Default starts from 1. --&amp;gt;&lt;br /&gt;
  &amp;lt;autoassignstartfrom&amp;gt;1&amp;lt;/autoassignstartfrom&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If set to true (default), the background for CDG songs is always empty (plain color) no matter what setting is set in &lt;br /&gt;
    defaultbackground below. When setting this to false, then one can see through the background and see the video or&lt;br /&gt;
    visualization.--&amp;gt;&lt;br /&gt;
  &amp;lt;nocdgbackground&amp;gt;true&amp;lt;/nocdgbackground&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Sets default background mode. Type could be &amp;quot;none&amp;quot;, &amp;quot;vis&amp;quot; for visualisation, &amp;quot;image&amp;quot; or &amp;quot;video&amp;quot;.&lt;br /&gt;
    For image/video types the &amp;quot;path&amp;quot; parameter should specify the image or video file to play. --&amp;gt;&lt;br /&gt;
  &amp;lt;defaultbackground type=&amp;quot;video&amp;quot; path=&amp;quot;special://masterprofile/karaokevideobg.avi&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;!-- If non-zero, specifies the time in seconds left before the end of the current song when a window will pop up informing you&lt;br /&gt;
    about the next played song. The window does not pop up if there is no next song, or it is not a karaoke song --&amp;gt;&lt;br /&gt;
  &amp;lt;nextsongpopuptime&amp;gt;0.0&amp;lt;/nextsongpopuptime&amp;gt;&lt;br /&gt;
&amp;lt;/karaoke&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;karaoke&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Photos settings ==&lt;br /&gt;
&lt;br /&gt;
=== pictureextensions ===&lt;br /&gt;
{{anchor|.3Cpictureextensions.3E}}&lt;br /&gt;
A list of additional file-extensions to allow (&#039;&#039;&#039;add&#039;&#039;&#039;) or exclude (&#039;&#039;&#039;remove&#039;&#039;&#039;) in the My Pictures window.&lt;br /&gt;
&lt;br /&gt;
Default extensions for PICTURES:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
.png .jpg .jpeg .bmp .gif .ico .tif .tiff .tga .pcx .cbz .zip .cbr .rar .m3u&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureextensions&amp;gt;&lt;br /&gt;
  &amp;lt;add&amp;gt;.ex1|.ex2&amp;lt;/add&amp;gt;&lt;br /&gt;
  &amp;lt;remove&amp;gt;.ex3|.ex4&amp;lt;/remove&amp;gt;&lt;br /&gt;
&amp;lt;/pictureextensions&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pictureexcludes ===&lt;br /&gt;
{{anchor|.3Cpictureexcludes.3E}}&lt;br /&gt;
Matches filenames or folders which should be excluded from being displayed in My Pictures using a list of &#039;&#039;[[Regular Expression (RegEx) Tutorial|Regular Expressions]]&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pictureexcludes&amp;gt;  &amp;lt;!-- Regular expressions that if evaluated to true won&#039;t be displayed in My Pictures --&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;small&amp;lt;/regexp&amp;gt;&lt;br /&gt;
  &amp;lt;regexp&amp;gt;[-\._ ](sample|trailer)[-\._ ]&amp;lt;/regexp&amp;gt;&lt;br /&gt;
&amp;lt;/pictureexcludes&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== slideshow ===&lt;br /&gt;
{{anchor|.3Cslideshow.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to pan images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;panamount&amp;gt;2.5&amp;lt;/panamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to zoom images as a percentage of the screen --&amp;gt;&lt;br /&gt;
  &amp;lt;zoomamount&amp;gt;5.0&amp;lt;/zoomamount&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Amount to compensate (zoom) images to attempt to reduce black bars. --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Results in cropping of the longer length of the image in order to reduce the black bars on the shorter length of the image.  --&amp;gt;&lt;br /&gt;
  &amp;lt;!-- Defaults to 20. --&amp;gt;&lt;br /&gt;
  &amp;lt;blackbarcompensation&amp;gt;20&amp;lt;/blackbarcompensation&amp;gt;  &lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Network settings ==&lt;br /&gt;
&lt;br /&gt;
=== samba ===&lt;br /&gt;
{{anchor|.3Csamba.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;samba&amp;gt;&lt;br /&gt;
  &amp;lt;doscodepage&amp;gt;&amp;lt;/doscodepage&amp;gt;  &amp;lt;!-- code page to use for filenames --&amp;gt;&lt;br /&gt;
  &amp;lt;clienttimeout&amp;gt;10&amp;lt;/clienttimeout&amp;gt;  &amp;lt;!-- timeout (in seconds) --&amp;gt;&lt;br /&gt;
  &amp;lt;statfiles&amp;gt;true&amp;lt;/statfiles&amp;gt;  &amp;lt;!-- Set to false to disable smb stat() on files to speed up listings of large directories (over slow links) --&amp;gt;&lt;br /&gt;
&amp;lt;/samba&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== hosts ===&lt;br /&gt;
{{anchor|.3Cfhosts.3E}}&lt;br /&gt;
Static dns entries which take precedence over your dns server.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;hosts&amp;gt;&lt;br /&gt;
  &amp;lt;entry name=&amp;quot;HOSTNAME&amp;quot;&amp;gt;IPADDRESS&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/hosts&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== network ===&lt;br /&gt;
{{anchor|.3Cnetwork.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify the cache}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;network&amp;gt;&lt;br /&gt;
  &amp;lt;curlclienttimeout&amp;gt;10&amp;lt;/curlclienttimeout&amp;gt;  &amp;lt;!-- Timeout in seconds for libcurl (http/ftp) connections --&amp;gt;&lt;br /&gt;
  &amp;lt;curllowspeedtime&amp;gt;5&amp;lt;/curllowspeedtime&amp;gt;  &amp;lt;!-- Time in seconds for libcurl to consider a connection lowspeed --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxyusername&amp;gt;&amp;lt;/httpproxyusername&amp;gt;  &amp;lt;!-- username for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;httpproxypassword&amp;gt;&amp;lt;/httpproxypassword&amp;gt;  &amp;lt;!-- password for Basic Proxy Authentication --&amp;gt;&lt;br /&gt;
  &amp;lt;cachemembuffersize&amp;gt;20971520&amp;lt;/cachemembuffersize&amp;gt;  &amp;lt;!-- number of bytes used for buffering streams ahead in memory &lt;br /&gt;
    {{subst:Name}} will not buffer ahead more than this. WARNING: for the bytes set here, {{subst:Name}} will consume 3x the amount of RAM&lt;br /&gt;
    When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo --&amp;gt;&lt;br /&gt;
  &amp;lt;buffermode&amp;gt;0&amp;lt;/buffermode&amp;gt;  &amp;lt;!-- Choose what to buffer:&lt;br /&gt;
     0) Buffer all internet filesystems (like &amp;quot;2&amp;quot; but additionally also ftp, webdav, etc.) (default)&lt;br /&gt;
     1) Buffer all filesystems (including local)&lt;br /&gt;
     2) Only buffer true internet filesystems (streams) (http, etc.)&lt;br /&gt;
     3) No buffer --&amp;gt;&lt;br /&gt;
  &amp;lt;readbufferfactor&amp;gt;1.0&amp;lt;/readbufferfactor&amp;gt; &amp;lt;!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file. &lt;br /&gt;
This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 1.0. --&amp;gt;&lt;br /&gt;
&amp;lt;/network&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== tuxbox ===&lt;br /&gt;
{{anchor|.3Ctuxbox.3E}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tuxbox&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;audiochannelselection&amp;quot;; default is &#039;false&#039;, &#039;true&#039; will popup the audio channel selection if&lt;br /&gt;
          there is more then one audio stream !--&amp;gt;&lt;br /&gt;
    &amp;lt;audiochannelselection&amp;gt;false&amp;lt;/audiochannelselection&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;submenuselection&amp;quot;; default is &#039;false&#039;, &#039;true&#039; will popup the Submenu selection !--&amp;gt;&lt;br /&gt;
    &amp;lt;submenuselection&amp;gt;false&amp;lt;/submenuselection&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;defaultrootmenu&amp;quot;; MODE: 0 = TV (Default), 1 = Radio, 2 = Data, 3 = Movies, 4 = Root !--&amp;gt;&lt;br /&gt;
    &amp;lt;defaultrootmenu&amp;gt;0&amp;lt;/defaultrootmenu&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;defaultsubmenu&amp;quot;; 1=Services  2=Satellites 3=Providers 4=Bouquets (default) !--&amp;gt;&lt;br /&gt;
    &amp;lt;defaultsubmenu&amp;gt;4&amp;lt;/defaultsubmenu&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;pictureicon&amp;quot;; default is &#039;true&#039;, will use the Picture Icons from folder /UserData/PictureIcon/ !--&amp;gt;&lt;br /&gt;
    &amp;lt;pictureicon&amp;gt;true&amp;lt;/pictureicon&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;epgrequesttime&amp;quot;; default is &#039;10&#039;, 0-3600, defines the time in seconds between epg queries, some tuxbox&lt;br /&gt;
          devices need longer to response (Minimum: 1, Maximum: 3600) !--&amp;gt;&lt;br /&gt;
    &amp;lt;epgrequesttime&amp;gt;10&amp;lt;/epgrequesttime&amp;gt;&lt;br /&gt;
    &amp;lt;!-- &amp;quot;zapwaittime&amp;quot;; default is &#039;0&#039; (0 = OFF), defines the time in seconds to wait for a valid PMT after the&lt;br /&gt;
          zaping was send (Minimum: 0, Maximum: 120) !--&amp;gt;&lt;br /&gt;
    &amp;lt;zapwaittime&amp;gt;0&amp;lt;/zapwaittime&amp;gt;  &lt;br /&gt;
&amp;lt;/tuxbox&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enableairtunesdebuglog ===&lt;br /&gt;
{{anchor|.3Cenableairtunesdebuglog.3E}}&amp;lt;section begin=&amp;quot;enableairtunesdebuglog&amp;quot; /&amp;gt;&lt;br /&gt;
This enables the debug output of libshairport which is used for the AirTunes feature. Defaults to off - because its spamming badly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enableairtunesdebuglog&amp;gt;1&amp;lt;/enableairtunesdebuglog&amp;gt;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;section end=&amp;quot;enableairtunesdebuglog&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airtunesport ===&lt;br /&gt;
{{anchor|.3Cairtunesport.3E}}&amp;lt;section begin=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the defalt listening port of the AirTunes server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airtunesport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== airplayport ===&lt;br /&gt;
{{anchor|.3Cairplayport.3E}}&amp;lt;section begin=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
This overwrites the default listening port of the AirPlay server (announced via zeroconf).&lt;br /&gt;
&amp;lt;section end=&amp;quot;airplayport&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== File system settings ==&lt;br /&gt;
&lt;br /&gt;
=== packagefoldersize ===&lt;br /&gt;
&amp;lt;section begin=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
{{anchor|.3Cpackagefoldersize.3E}}&lt;br /&gt;
{{xml setting&lt;br /&gt;
 | tag name = packagefoldersize&lt;br /&gt;
 | option type = numerical&lt;br /&gt;
 | option values = &lt;br /&gt;
 | default values = 200&lt;br /&gt;
 | platform = all&lt;br /&gt;
 | XBMC version = 12&lt;br /&gt;
 | description = The amount (in megabytes) of add-on zip packages saved from previous add-on installs. These packages are mainly used for the [[add-on]] rollback feature. Increasing the size should increase the amount of past versions saved.&lt;br /&gt;
 | example = Example: &amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&amp;lt;packagefoldersize&amp;gt;200&amp;lt;/packagefoldersize&amp;gt; &amp;lt;!-- this example would keep up to 200MB of add-on packages. --&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;packagefoldersize&amp;quot; /&amp;gt;&lt;br /&gt;
=== detectasudf ===&lt;br /&gt;
{{anchor|.3Cdetectasudf.3E}}&lt;br /&gt;
Set to true if you wish to detect joint ISO9660/UDF disks as UDF.  &lt;br /&gt;
&lt;br /&gt;
Default: False&lt;br /&gt;
&lt;br /&gt;
=== pathsubstitution ===&lt;br /&gt;
{{anchor|.3Cpathsubstitution.3E}}&lt;br /&gt;
&#039;&#039;&#039;[[Path substitution]]s&#039;&#039;&#039; are for use for redirecting file paths.  These are processed in order, and are useful for substituting an absolute path on a PC with a path suitable for XBMC to handle.  &lt;br /&gt;
&lt;br /&gt;
Default: No path substitutions defined.  &lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pathsubstitution&amp;gt;&lt;br /&gt;
  &amp;lt;substitute&amp;gt;&lt;br /&gt;
    &amp;lt;from&amp;gt;G:\dvds\&amp;lt;/from&amp;gt;&lt;br /&gt;
    &amp;lt;to&amp;gt;smb://somecomputer/g-share/dvds/&amp;lt;/to&amp;gt; &amp;lt;!-- Note the difference between the usage of forward and backslashes --&amp;gt;&lt;br /&gt;
  &amp;lt;/substitute&amp;gt;&lt;br /&gt;
&amp;lt;/pathsubstitution&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remote control settings ==&lt;br /&gt;
&lt;br /&gt;
=== remotedelay ===&lt;br /&gt;
{{anchor|.3Cremotedelay.3E}}&lt;br /&gt;
The repeat delay for a LIRC remote control. A delay value between 1 and 20 before a remote button starts repeating on a long keypress (i.e. continuously sending button pushes while it&#039;s held down). &lt;br /&gt;
&lt;br /&gt;
Default: 3&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remotedelay&amp;gt;10&amp;lt;/remotedelay&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== remoterepeat ===&lt;br /&gt;
{{anchor|.3Cremoterepeat.3E}}&lt;br /&gt;
This used to adjust the amount of time in milliseconds between repeated keystrokes. Used to prevent key-bounce, in other words prevents xbmc (lirc?) seeing one key press as multiple key presses with certain remotes.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remoterepeat&amp;gt;800&amp;lt;/remoterepeat&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== controllerdeadzone ===&lt;br /&gt;
{{anchor|.3Ccontrollerdeadzone.3E}}&lt;br /&gt;
The controller deadzone is the region of movement around the center which is not recognized by the device. Because joysticks can have noise (report motion when still) and bias (report an offset when centered), spurious events can be reported even though the controller isn&#039;t being touched. If you notice these kinds of events, you most likely need to increase your controller&#039;s deadzone (both axes recommended). The values range from 0.0 (no deadzone, XBMC will see all input your controller is capable of registering) to 1.0 (XBMC will ignore all input inside of the device&#039;s physical limits).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;controllerdeadzone&amp;gt;0.2&amp;lt;/controllerdeadzone&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== enablemultimediakeys ===&lt;br /&gt;
{{anchor|.3Cenablemultimediakeys.3E}}&lt;br /&gt;
This setting only has any effect on Windows versions of XBMC, and only applies to builds from 28th May 2011 onwards.&lt;br /&gt;
In Windows the multimedia keys generate a WM_APPCOMMAND message in addition the keypress. XBMC processes both keypresses and the WM_APPCOMMAND messages, and the end result would be that the command is executed twice. To avoid this, by default multimedia keypresses are disabled. Although it should rarely be necessary, the enablemultimediakeys setting allows you to enable the multimedia keys.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;enablemultimediakeys&amp;gt;true&amp;lt;/enablemultimediakeys&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other interface settings ==&lt;br /&gt;
&lt;br /&gt;
=== window ===&lt;br /&gt;
{{anchor|.3Cwindow.3E}}&lt;br /&gt;
This allows you to manually set the default size of XBMC&#039;s windowed mode.  If you resize the window, it will return to the set size when restarting.&lt;br /&gt;
&lt;br /&gt;
WIDTH and HEIGHT are the values for each dimension, in pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;window&amp;gt;&amp;lt;width&amp;gt;WIDTH&amp;lt;/width&amp;gt;&amp;lt;height&amp;gt;HEIGHT&amp;lt;/height&amp;gt;&amp;lt;/window&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== allowd3d9ex ===&lt;br /&gt;
{{anchor|.3Callowd3d9ex.3E}}&lt;br /&gt;
Applies only to Windows Vista and up. Values: true/false. Allows xbmc to use Direct3D 9Ex, which is a bit more stable and robust than Direct3D 9.&lt;br /&gt;
&lt;br /&gt;
Default:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;allowd3d9ex&amp;gt;true&amp;lt;/allowd3d9ex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== restrictcapsmask ===&lt;br /&gt;
{{anchor|.3Crestrictcapsmask.3E}}&lt;br /&gt;
Windows only. A bitmask to prevent xbmc from using detected texture capabilities of the GPU. This helps work around buggy hardware/drivers.&lt;br /&gt;
&lt;br /&gt;
1: prevent the use of compressed textures (DXT1, DXT3, DXT5)&lt;br /&gt;
2: prevent the use of non-power-of-two dimensions for textures&lt;br /&gt;
4: prevent the use of compressed textures with non-power-of-two dimensions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;restrictcapsmask&amp;gt;0&amp;lt;/restrictcapsmask&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== forced3d9ex ===&lt;br /&gt;
{{anchor|.3Cforced3d9ex.3E}}&lt;br /&gt;
Windows only: XBMC attempts to detect drivers released for a version earlier than Vista, to avoid using advanced features which are often not emulated correctly. The detection may be incorrect and this setting allows forcing the using of D3D9Ex.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;forced3d9ex&amp;gt;false&amp;lt;/forced3d9ex&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== algorithmdirtyregions ===&lt;br /&gt;
{{anchor|.3Calgorithmdirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt; {{note|Some GPU/hardware configurations will have some minor issues (such as a visual &amp;quot;flicker&amp;quot;). For those situations try mode 2 or use the default (mode 3, which requires no advancedsetting). Almost all ARM-based devices (such as [[Android]]) willl likely have flickering issues.}}&lt;br /&gt;
 &lt;br /&gt;
Enable dirty-region processing. Dirty regions are any parts of the screen that have changed since the last frame. By not re-rendering what hasn&#039;t changed the GUI can be sped up. Because all GPUs work differently, only Mode 3, combined with nofliptimeout=0, is guaranteed to work for everyone without flickering issues. This mode will reduce CPU/GPU usage, but will not increase GUI speed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot;&lt;br /&gt;
! value !! result !! description&lt;br /&gt;
|-&lt;br /&gt;
! 0&lt;br /&gt;
| Off&lt;br /&gt;
| The entire viewport is always rendered.&lt;br /&gt;
|-&lt;br /&gt;
! 1&lt;br /&gt;
|Union&lt;br /&gt;
|All dirty regions are grouped into the smallest possible rectangle. This is typically the fastest mode for slower GPUs due to only making one pass.&lt;br /&gt;
|-&lt;br /&gt;
! 2&lt;br /&gt;
| {{nowrap|Cost reduction}}&lt;br /&gt;
| Each dirty region is presented separately, in as many passes as there are regions.&lt;br /&gt;
|-&lt;br /&gt;
! 3&lt;br /&gt;
| {{nowrap|Whole Screen}}&lt;br /&gt;
| The entire screen is rendered if there are any dirty regions. This, combined with nofliptimeout is a safe default for drivers that clear buffer contents (manifests as blinking or vibrating images). &#039;&#039;&#039;Default&#039;&#039;&#039;&lt;br /&gt;
|}&amp;lt;section end=&amp;quot;algorithmdirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;algorithmdirtyregions&amp;gt;1&amp;lt;/algorithmdirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== nofliptimeout ===&lt;br /&gt;
{{anchor|.3Cnofliptimeout.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;nofliptimeout&amp;quot; /&amp;gt;Specifies the timeout in milliseconds after which XBMC will not flip the graphics buffers anymore when nothing has been rendered, this lowers both CPU and GPU usage. Sometimes adjusting this value can help prevent flickering.&lt;br /&gt;
&lt;br /&gt;
* -1: disabled &lt;br /&gt;
* 0 or higher: timeout in milliseconds &#039;&#039;&#039;(0 is default)&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;section end=&amp;quot;nofliptimeout&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;nofliptimeout&amp;gt;1000&amp;lt;/nofliptimeout&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== visualizedirtyregions ===&lt;br /&gt;
{{anchor|.3Cvisualizedirtyregions.3E}}&lt;br /&gt;
{{see also|HOW-TO:Modify dirty regions}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;Enable dirty-region visualization. Paints a rectangle over marked controls.&lt;br /&gt;
&lt;br /&gt;
* true: on&lt;br /&gt;
* false: off &#039;&#039;&#039;(Default)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{note|This is only a development mode and isn&#039;t of use to normal users.}}&lt;br /&gt;
&amp;lt;section end=&amp;quot;visualizedirtyregions&amp;quot; /&amp;gt;&lt;br /&gt;
Example: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gui&amp;gt;    &lt;br /&gt;
  &amp;lt;visualizedirtyregions&amp;gt;true&amp;lt;/visualizedirtyregions&amp;gt;&lt;br /&gt;
&amp;lt;/gui&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== showexitbutton ===&lt;br /&gt;
{{anchor|.3Cshowexitbutton.3E}}&lt;br /&gt;
Setting to hide the exit button, useful for people running appliance based setup&#039;s where exit would only confuse/complicate the user. Modifiable via the advancedsettings.xml by setting showexitbutton to false, default is true (show)&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;showexitbutton&amp;gt;true&amp;lt;/showexitbutton&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fullscreen ===&lt;br /&gt;
{{anchor|.3Cfullscreen.3E}}&lt;br /&gt;
Starts XBMC in full screen (check resolutions!).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;fullscreen&amp;gt;false&amp;lt;/fullscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== splash ===&lt;br /&gt;
{{anchor|.3Csplash.3E}}&lt;br /&gt;
Set to false if you wish to disable the startup splash image. Defaults to true.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;splash&amp;gt;true&amp;lt;/splash&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== cputempcommand ===&lt;br /&gt;
{{anchor|.3Ccputempcommand.3E}}&lt;br /&gt;
Provide a shell command XBMC will use to get CPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia and Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sed -e &#039;s/\([0-9]*\)[0-9]\{3\}.*/\1 C/&#039; /sys/class/thermal/thermal_zone0/temp&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;echo &amp;quot;$(sensors -u | tail -n64 | grep temp1_input | awk &#039;{print $2 }&#039; |awk &#039;{printf(&amp;quot;%d\n&amp;quot;,$1 + 0.5);}&#039;) C&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;cputempcommand&amp;gt;sensors|sed -ne &amp;quot;s/temp1: \+[-+]\([0-9]\+\).*/\1 C/p&amp;quot;&amp;lt;/cputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== gputempcommand ===&lt;br /&gt;
{{anchor|.3Cgputempcommand.3E}}&lt;br /&gt;
Provide a shell command XBMC will use to get GPU temperature. It should print out only &amp;quot;[temp as integer] [scale as one of &amp;quot;CcFf&amp;quot;]&amp;quot;.&amp;lt;br /&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For Nvidia&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-settings -tq gpuCoreTemp) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;echo &amp;quot;$(nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36) C&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
;&amp;lt;u&amp;gt;For ATI/AMD&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/usr/bin/aticonfig --od-gettemperature | grep Temperature | cut -f 2 -d &amp;quot;-&amp;quot; | cut -f 1 -d &amp;quot;.&amp;quot; | sed -e &amp;quot;s, ,,&amp;quot; | sed &#039;s/$/ C/&#039;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;&amp;lt;u&amp;gt;For Raspberry Pi&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gputempcommand&amp;gt;/opt/vc/bin/vcgencmd measure_temp | sed -e &amp;quot;s/temp=//&amp;quot; -e &amp;quot;s/\..*&#039;/ /&amp;quot;&amp;lt;/gputempcommand&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== glrectanglehack ===&lt;br /&gt;
{{anchor|.3Cglrectanglehack.3E}}&lt;br /&gt;
Problems with ghosting or videos which are only played back in the left upper quarter? The following ATI hack may solve it.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;glrectanglehack&amp;gt;yes&amp;lt;/glrectanglehack&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== alwaysontop ===&lt;br /&gt;
{{anchor|.3Calwaysontop.3E}}&lt;br /&gt;
Added in XBMC v9.11 (Windows OS only). Keeps XBMC always on top when windowed.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;alwaysontop&amp;gt;yes&amp;lt;/alwaysontop&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternate code.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;videoscreen&amp;gt;&lt;br /&gt;
        &amp;lt;fakefullscreen&amp;gt;false&amp;lt;/fakefullscreen&amp;gt;&lt;br /&gt;
    &amp;lt;/videoscreen&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recently removed tags ==&lt;br /&gt;
*{{anchor|.3Cthumbsize.3E}} &#039;&#039;&#039;&amp;lt;thumbsize&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#imageres|imageres]]&amp;gt; in v12 Frodo&lt;br /&gt;
*{{anchor|.3Cfanartheight.3E}} &#039;&#039;&#039;&amp;lt;fanartheight&amp;gt;&#039;&#039;&#039; - replaced by &amp;lt;[[#fanartres|fanartres]]&amp;gt; in v12 Frodo&lt;br /&gt;
*{{anchor|.3Cdvdthumbs.3E}} &#039;&#039;&#039;&amp;lt;dvdthumbs&amp;gt;&#039;&#039;&#039; - removed in v12 Frodo&lt;br /&gt;
*{{anchor|.3Cbginfoloadermaxthreads.3E}} &#039;&#039;&#039;&amp;lt;bginfoloadermaxthreads&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* &#039;&#039;&#039;&amp;lt;showepginfoonselect&amp;gt;&#039;&#039;&#039; - replaced by a GUI setting in v13 Gotham&lt;br /&gt;
*{{anchor|.3Cbusydialogdelayms.3E}} &#039;&#039;&#039;&amp;lt;busydialogdelayms&amp;gt;&#039;&#039;&#039; - removed in v13 Gotham&lt;br /&gt;
* Various sub-tags for &amp;lt;audio&amp;gt; were removed in v13 Gotham and replaced by GUI settings or were no longer needed: &amp;lt;resample&amp;gt;, &amp;lt;forceDirectSound&amp;gt;, &amp;lt;audiophile&amp;gt;, &amp;lt;audiosinkbufferdurationmsec&amp;gt;, &amp;lt;allowtranscode44100&amp;gt;, &amp;lt;streamsilence&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Gotham updated}}&lt;br /&gt;
{{DISPLAYTITLE:advancedsettings.xml}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
[[Category:Advanced topics]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Intel_Linux_Modifications_for_HD_Audio&amp;diff=76655</id>
		<title>Archive:Intel Linux Modifications for HD Audio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Intel_Linux_Modifications_for_HD_Audio&amp;diff=76655"/>
		<updated>2014-06-12T19:31:37Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Kernel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]}}&lt;br /&gt;
== Kernel ==&lt;br /&gt;
{{redv|&#039;&#039;&#039;WARNING:&#039;&#039;&#039;| All those changes are not needed when you run a current linux distribution (e.g. xbmcbuntu v13)! Don&#039;t make those changes.}}&lt;br /&gt;
HD Audio on Intel SandyBridge &amp;amp; IvyBridge systems require a patch from Intel to be included within the kernel, Linux 3.7 and higher include this patch as standard. &lt;br /&gt;
&lt;br /&gt;
For more on this patch refer to [http://comments.gmane.org/gmane.linux.alsa.devel/100746 Intel HDMI HBR patches for HD Audio]&lt;br /&gt;
&lt;br /&gt;
If you install a kernel &amp;gt;= 3.10.x you are on the safe side and no additional changes are needed (not matter if you have a spdif or not).&lt;br /&gt;
&lt;br /&gt;
=== Kernel upgrades ===&lt;br /&gt;
To upgrade the kernel you need to obtain 3 files either x86 or x86_64 depending on your architecture.&lt;br /&gt;
&lt;br /&gt;
Download 3 debs to a directory from this site http://kernel.ubuntu.com/~kernel-ppa/mainline/ (at time of writing &#039;&#039;&#039;3.10.5&#039;&#039;&#039; is/was the stable version) or greater. We also update the linux-firmware as we are at it.&lt;br /&gt;
&lt;br /&gt;
# linux-headers-&amp;lt;version numbers&amp;gt;-all.deb&lt;br /&gt;
# linux-headers-&amp;lt;version numbers&amp;gt;-amd64.deb&lt;br /&gt;
# linux-image-&amp;lt;version number&amp;gt;-amd64.deb&lt;br /&gt;
&lt;br /&gt;
{{note|The examples above needs you to choose the correct architecture for your installation or else you render your system unbootable!!}}&lt;br /&gt;
&lt;br /&gt;
=== Kernel Download ===&lt;br /&gt;
&lt;br /&gt;
Choose 32 bit if your system is running i686 kernel or choose 64 bit if your system is x86_64.&lt;br /&gt;
&lt;br /&gt;
64 bit:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/&lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-headers-3.10.5-031005-generic_3.10.5-031005.201308040618_amd64.deb &lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-headers-3.10.5-031005_3.10.5-031005.201308040618_all.deb &lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-image-3.10.5-031005-generic_3.10.5-031005.201308040618_amd64.deb &lt;br /&gt;
wget http://mirrors.us.kernel.org/ubuntu//pool/main/l/linux-firmware/linux-firmware_1.113_all.deb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
32 bit:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/&lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-headers-3.10.5-031005-generic_3.10.5-031005.201308040618_i386.deb &lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-image-3.10.5-031005-generic_3.10.5-031005.201308040618_i386.deb &lt;br /&gt;
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.10.5-saucy/linux-headers-3.10.5-031005_3.10.5-031005.201308040618_all.deb &lt;br /&gt;
wget http://mirrors.us.kernel.org/ubuntu//pool/main/l/linux-firmware/linux-firmware_1.113_all.deb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel Install ===&lt;br /&gt;
Install the debs with these commands:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/&lt;br /&gt;
sudo dpkg -i *.deb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After a reboot bitstream passthrough should be working. You can check the xbmc.log if your AVR capabilities are correctly identified. If the correct codecs / speaker numbers are not found, check the following settings with your AVR. We are aware that intel is currently really picky with AVRs - on really rare cases we could not get a single sound out of the AVR.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Audio TV Out - Off&lt;br /&gt;
TV Control - Off&lt;br /&gt;
HDMI Control - Off&lt;br /&gt;
Audio Output - AMP&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Old workarounds (not needed on kernels &amp;gt;= 3.9.x anymore) =&lt;br /&gt;
&lt;br /&gt;
== Intel Systems with both SPDIF &amp;amp; HDMI ==&lt;br /&gt;
&lt;br /&gt;
On old kernel versions (prior to 3.9.x) systems which have a Intel GPU feeding a HDMI out but also have a motherboard SPDIF out require a patched Linux 3.7 or higher kernel and additional system modification  to get sound on the HDMI out. In these circumstances both SPDIF &amp;amp; HDMI share certain system file settings which cause a conflict resulting in the HDMI sound being blocked, to fix this there are two options available:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;1. Easy -&#039;&#039;&#039; Blacklist the SPDIF so only HDMI is available for audio, this also has the advantage of surviving system upgrades.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2. Difficult -&#039;&#039;&#039; If both SPDIF &amp;amp; HDMI are required to be active then editing then &#039;&#039;&#039;HDA-Intel.conf&#039;&#039;&#039; is required so there is no conflict in the device settings, however this might have to be reapplied after a system upgrade.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=== Easy - Blacklisting SPDIF - Fix (WIP) ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
aplay -L | grep -i iec958&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
If you find S/PDIF on the same card as your intel hdmi rmmod the module that drives your S/PDIF.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Difficult - HDA-Intel.conf - Fix ===&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;WARNING:&#039;&#039;&#039;|Only carry this out if you 100% know what you are doing as a wrong step can totally break audio.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This is not needed if you run a kernel &amp;gt;= 3.10.x&#039;&#039;&#039; as this already increases the index internally&lt;br /&gt;
&lt;br /&gt;
This fix requires modification to: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/share/alsa/cards/HDA-Intel.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Open the &#039;&#039;&#039;HDA-Intel.conf&#039;&#039;&#039; file with a editor and look for entries containing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;CTLINDEX=&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The numerical value after the = sign need to be increased by 1 so for example &#039;&#039;&#039;&amp;quot;CTLINDEX=1&amp;quot;&#039;&#039;&#039; becomes &#039;&#039;&#039;&amp;quot;CTLINDEX=2&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example of original &#039;&#039;&#039;&#039;&#039;/usr/share/alsa/cards/HDA-Intel.conf&#039;&#039;&#039;&#039;&#039; file &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
@@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=3,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=0,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=7,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=1,&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=8,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=2,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=9,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=3,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Becomes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
@@ -211,7 +211,7 @@ HDA-Intel.pcm.hdmi.0 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=3,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=1,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -234,7 +234,7 @@ HDA-Intel.pcm.hdmi.1 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=7,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=2,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -257,7 +257,7 @@ HDA-Intel.pcm.hdmi.2 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=8,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=3,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
@@ -280,7 +280,7 @@ HDA-Intel.pcm.hdmi.3 {&lt;br /&gt;
&amp;quot;cards.HDA-Intel.pcm.hdmi.common:&amp;quot;&lt;br /&gt;
&amp;quot;CARD=&amp;quot; $CARD &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;DEVICE=9,&amp;quot;&lt;br /&gt;
&amp;quot;CTLINDEX=4,&amp;quot;&lt;br /&gt;
&amp;quot;AES0=&amp;quot; $AES0 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES1=&amp;quot; $AES1 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;quot;AES2=&amp;quot; $AES2 &amp;quot;,&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:136555|DTS-HD MA forum thread discussion]]}}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=76623</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=76623"/>
		<updated>2014-06-10T18:01:55Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Combined Output aka dual audio */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Downside:&#039;&#039;&#039;| The dual audio sink will only output decoded audio, you cannot use it to have one slave doing AC3/DTS and the other PCM. If you use the combined sink for normal music and the  direct passthrough output for your movies, you get probably best out of both worlds. }}&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74982</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74982"/>
		<updated>2014-05-11T16:40:03Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Known issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot or passthrough only produces noise, you might have a broken driver in use. If this is the case, try to add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74981</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74981"/>
		<updated>2014-05-11T16:39:08Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* Audiophile Pulse User */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sink.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot, you might have a broken driver in use. If this is the case, add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74979</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74979"/>
		<updated>2014-05-11T11:58:29Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: Add Remark for audiophile users&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some remark: This will actively make &#039;&#039;&#039;passthrough non working&#039;&#039;&#039;, as we need s16le format for adding ac3 / dts / etc. float to the sin.&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot, you might have a broken driver in use. If this is the case, add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74301</id>
		<title>PulseAudio</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=PulseAudio&amp;diff=74301"/>
		<updated>2014-05-04T12:25:47Z</updated>

		<summary type="html">&lt;p&gt;Fritsch: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Audio]]|[[Linux audio]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;This page goes into detail on using PulseAudio on Linux systems. PulseAudio is used when XBMC is installed in a desktop-environment rather than a dedicated/direct boot setup. PulseAudio allows normal video &amp;amp; audio playback in XBMC while at the same time allowing the user to get audio in their browser or other applications. It also allows XBMC playback of video or audio to be paused in order to run a game, Skype or similar. XBMC is set to only use PulseAudio if you have installed it and running.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
In the past users have experienced problems with audio not working within XBMC, because they were running a full-blown Ubuntu desktop environment with PulseAudio installed. This happened because PulseAudio blocked the device XBMC required, and audio playback only worked reliably when using the virtual Pulse device.&lt;br /&gt;
&lt;br /&gt;
Our workaround for those users has been to uninstall PulseAudio which completely broke desktop audio.&lt;br /&gt;
&lt;br /&gt;
For XBMC 13 &#039;Gotham&#039; and later we wanted this situation to change, so thanks to the new &#039;&#039;&#039;PulseAudio Sink&#039;&#039;&#039; users now can run a normal Ubuntu desktop.&lt;br /&gt;
&lt;br /&gt;
== PulseAudio Output Configuration ==&lt;br /&gt;
PulseAudio will be automatically detected and selected in XBMC when it is running.&lt;br /&gt;
&lt;br /&gt;
PulseAudio can be run in one of two modes these are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Passthrough Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
Used if you want to passthrough (bitstream) AC3, DTS, and EAC3 to an AVR or other device. In order to allow passthrough to work with PulseAudio then it &#039;&#039;&#039;MUST&#039;&#039;&#039; be set to use a 2.0 channel configuration, despite the 2.0 setting this will still allow 5.1 audio from AC3, DTS, and EAC3.&lt;br /&gt;
&lt;br /&gt;
{{Note| PulseAudio does not currently allow TrueHD or DTS-MA passthrough, this is a PulseAudio limitation and not a limitation of the XBMC implementation.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;&#039;&#039;&#039;Multichannel Mode&#039;&#039;&#039;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Used if you want Multichannel PCM out, in this mode you can configure PulseAudio for up to 7.1 channels. In this mode XBMC must decode all audio formats to PCM for passing onto the PulseAudio, this can have the advantage of improve audio/video sync.&lt;br /&gt;
&lt;br /&gt;
{{Note| Audio decoded to PCM and sent through PulseAudio the audio will not likely be &amp;quot;bit perfect&amp;quot;. Where a video has TrueHD 7.1 audio, this can be decoded by XBMC to PCM 7.1, however DTS-HD 7.1 audio can&#039;t be decoded by XBMC, only the embedded DTS Core 5.1 can be decoded to PCM 5.1 audio.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Setting up pavucontrol  ==&lt;br /&gt;
&lt;br /&gt;
=== Passthrough Mode ===&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;|Passthrough is always exclusive mode. If you have another application hogging the device, e.g. google chrome or skype or something else, Passthrough won&#039;t work.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| To use passthrough you need to be using &#039;&#039;&#039;2.0&#039;&#039;&#039; channel configuration via &#039;&#039;&#039;pavucontrol&#039;&#039;&#039; (e.g. Digital Stereo (HDMI)}}&lt;br /&gt;
&lt;br /&gt;
In order to activate Passthrough Codecs, just setup pavucontrol, as in the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Passthrough2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Passthrough1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;pavucontrol&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you like to do this from the command line, issue:&lt;br /&gt;
 &#039;&#039;&#039;pactl set-sink-formats 0 &amp;quot;pcm; ac3-iec61937; dts-iec61937; eac3-iec61937&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Where &#039;&#039;&#039;0&#039;&#039;&#039; is the sink you want to alter.&lt;br /&gt;
You can print all sinks, by using:&lt;br /&gt;
 &#039;&#039;&#039;pactl list sinks&#039;&#039;&#039;&lt;br /&gt;
You can leave out the codecs your AVR does not support, always keep pcm.&lt;br /&gt;
&lt;br /&gt;
{{bluev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| If you have for example 5.1 flacs or other multichannel files, you can play them as AC3 streams, check the AC3 Transcoding setting.}}&lt;br /&gt;
&lt;br /&gt;
=== Multichannel Mode ===&lt;br /&gt;
{{greenv|&#039;&#039;&#039;REMEMBER:&#039;&#039;&#039;| When configuring pulse to use &#039;&#039;&#039;Multichannel configuration&#039;&#039;&#039; passthrough will be disabled}}&lt;br /&gt;
To configure instead Multi channel mode, do the following settings.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Lpcm2.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt; &#039;&#039;To alternatively configure Multi channel, check this:&#039;&#039;.&lt;br /&gt;
File:Lpcm1.png|&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt; The &#039;&#039;Add-on manager&#039;&#039;, displaying four/five options  (explained below).&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example setup in xbmc ===&lt;br /&gt;
{{orangev|&#039;&#039;&#039;GOOD TO KNOW:&#039;&#039;&#039;| Limit sample rate can be set to Fixed - between 48kHz ~ 192kHz or as Optimized and even Best match.}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmclpcm.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpaa1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=500px heights=313px&amp;gt;&lt;br /&gt;
File:Xbmcpass2.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 1:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Output Settings.&#039;&#039;&#039;&lt;br /&gt;
File:Xbmcpass1.png |&amp;lt;big&amp;gt;&#039;&#039;&#039;Step 2:&#039;&#039;&#039;&amp;lt;/big&amp;gt;  &#039;&#039;to be edited&#039;&#039;  &#039;&#039;&#039;Configuration.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Setup Guide ===&lt;br /&gt;
{{orangev|DEVICE ENUMERATION:| XBMC Enumerates Pulseaudio devices as SPDIF when you have &#039;&#039;&#039;Passthrough&#039;&#039;&#039; set. Otherwise its &#039;&#039;&#039;PCM Device&#039;&#039;&#039;.}}&lt;br /&gt;
{{bluev|GOOD TO KNOW:|SPDIF has 2 pcm channels but can do virtual 5.1 formats like dts, ac3, eac3.}}&lt;br /&gt;
{{greenv|&#039;&#039;&#039;NOTICE&#039;&#039;&#039;|The following is meant to act as a guide to get you started, thus you may want to adjust things to suit your own particular set of equipment.}}&lt;br /&gt;
{| class=&amp;quot;prettytable&amp;quot; style=&amp;quot;text-align: center; color: black;&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! PC Speakers&amp;lt;br /&amp;gt;5.1&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;2.0&lt;br /&gt;
! TV SPDIF&amp;lt;br /&amp;gt;AC3 (&#039;&#039;&#039;1&#039;&#039;&#039;)&lt;br /&gt;
! AVR SPDIF&amp;lt;br /&amp;gt;AC3/DTS (&#039;&#039;&#039;2&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;PCM (&#039;&#039;&#039;3&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;No HD Audio (&#039;&#039;&#039;4&#039;&#039;&#039;)&lt;br /&gt;
! AVR HDMI&amp;lt;br /&amp;gt;Decode HD Audio (&#039;&#039;&#039;5&#039;&#039;&#039;)&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;PusleAudio Mode&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|Passthrough&lt;br /&gt;
|Multichannel&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Output Devices&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Port&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|Digital Output (S/PDIF)&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|HDMI/Displayport&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;AC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;EAC3&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;9&amp;quot;|&#039;&#039;&#039;Pavucontrol - Configuration&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Profile&#039;&#039;&#039;&lt;br /&gt;
|Analog Stereo Output&lt;br /&gt;
|Analog Surround 5.1 Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(IEC958) Output&lt;br /&gt;
|Digital Surround 5.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Stereo &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|Digital Surround 7.1 &amp;lt;br /&amp;gt;(HDMI) Output&lt;br /&gt;
|- &lt;br /&gt;
!Colspan=&amp;quot;9&amp;quot;|XBMC Settings&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Audio Output Device&#039;&#039;&#039;&lt;br /&gt;
|Speakers&lt;br /&gt;
|Speakers&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|HDMI&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Number of channels&#039;&#039;&#039;&lt;br /&gt;
|2.0&lt;br /&gt;
|5.1&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|5.1&lt;br /&gt;
|2.0&lt;br /&gt;
|7.1&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled passthrough&#039;&#039;&#039;&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Passthrough output device&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|SPDIF&lt;br /&gt;
|SPDIF&lt;br /&gt;
|N/A&lt;br /&gt;
|HDMI&lt;br /&gt;
|N/A&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Dolby Digital (AC3) capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;Enabled Dolby Digital transcoding&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Enabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Enabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;TrueHD capable receiver&#039;&#039;&#039;&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|-&lt;br /&gt;
|align=&amp;quot;left&amp;quot;|&#039;&#039;&#039;DTS-HD capable receiver&#039;&#039;&#039; &lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|N/A&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Disabled&lt;br /&gt;
|Dsiabled&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(1)&#039;&#039;&#039; Where TV can decode 5.1 AC3.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(2)&#039;&#039;&#039; Where AVR only has SPDIF which will support 5.1 AC3 &amp;amp; DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(3)&#039;&#039;&#039; Where AVR can do 5.1 PCM.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(4)&#039;&#039;&#039; Where AVR has HDMI inputs but can&#039;t decode TrueHD or DTS-HD but does support 5.1 Ac3 or DTS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;(5)&#039;&#039;&#039; Where AVR has full decode capabilities including 7.1 PCM.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;IMPORTANT:&#039;&#039;&#039;| You can only have &#039;&#039;&#039;AC3&#039;&#039;&#039;, &#039;&#039;&#039;DTS&#039;&#039;&#039;, &#039;&#039;&#039;EAC3&#039;&#039;&#039; passthrough &#039;&#039;&#039;if your Receiver supports it&#039;&#039;&#039;. Most &#039;&#039;&#039;TV&#039;s&#039;&#039;&#039; only support &#039;&#039;&#039;AC3&#039;&#039;&#039;. If you have a &#039;&#039;&#039;HDMI&#039;&#039;&#039; connection to your TV and &#039;&#039;&#039;from this TV&#039;&#039;&#039; a &#039;&#039;&#039;SPDIF/Optical&#039;&#039;&#039; connection to an &#039;&#039;&#039;AVR&#039;&#039;&#039;, passthrough might not work at all.}}&lt;br /&gt;
&lt;br /&gt;
== Combined Output aka dual audio==&lt;br /&gt;
If you want to output to all your attached devices in parallel, e.g. HDMI out, analog out and USB sound card, it is enough to do as below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1:&#039;&#039;&#039; Edit &amp;lt;code&amp;gt;/etc/pulse/default.pa&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;load-module module-combine-sink sink_name=combined&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Step 2: &#039;&#039;&#039;Restart pulseaudio.&lt;br /&gt;
&amp;lt;pre&amp;gt;killall pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
xbmc will then pickup the device, it is named &#039;&#039;&#039;combined&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Audiophile Pulse User ==&lt;br /&gt;
Pulseaudio resamples everything that does not match the underlaying sink, so if you are an audiophile user, you perhaps want to hear your 96 / 192 khz and 24 bit recordings as exact as possible. Therefore you need to tell pulseaudio to use a better resampler in general and second change the default sample rate to 96 or 192 khz. Pulseaudio does not resample audio, that is already in the correct samplerate. Furthermore you need to take care, that your sink has a wide enough output format.&lt;br /&gt;
&lt;br /&gt;
To do this configuration systemwide (96 khz in that example), change /etc/pulse/daemon.conf to include (please replace already existing lines and also remove the commenting):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
default-sample-format = s32le &lt;br /&gt;
default-sample-rate = 96000&lt;br /&gt;
resample-method = speex-float-5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The last setting will increase the resample quality from pulse and therefore the CPU load quite a lot. Again: Resampling is only done, when the sink output does not match the data you throw onto it. But as most normal mp3s are in 44.1 khz, you need to take great care when upsampling them. The overwriting of the resample-method is for this use case.&lt;br /&gt;
&lt;br /&gt;
{{orangev|&#039;&#039;&#039;Alternatively:&#039;&#039;&#039;| If you don&#039;t want any resampling outside xbmc, e.g. no resampling done extra by pulse, you need to configure the sink as told above and set Audio Engine to &#039;&#039;&#039;Fixed&#039;&#039;&#039; with the number of channels you configured pulseaudio via pavucontrol and samplerate of &#039;&#039;&#039;96 khz&#039;&#039;&#039; with resample quality high. In that combination xbmc will take care that files are resampled (e.g. 44.1 khz or 48 khz media) in the best possible quality. Already 96 khz files are not touched at all. }}&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
{{FAQ|1=When_would_I_want_Pulseaudio&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=When would I want PulseAudio?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use your XBMC computer mainly as your Desktop when you don&#039;t run XBMC.&lt;br /&gt;
* You want other applications audio like Skype, youtube, browser mail notification in parallel with XBMC.&lt;br /&gt;
* You use xbmc in windowed mode as Desktop player&lt;br /&gt;
* You use Pulseaudio as a network sink to stream Audio to other devices in your living room.&lt;br /&gt;
* Passthrough is nice to have for you, but to be honest - you don&#039;t really need it.&lt;br /&gt;
* Whenever you plugin your Bluetooth headset, xbmc audio will continue over this new device (when Default &#039;PULSE&#039; device is chosen)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=When_would_I_want_ALSA&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=When would I want ALSA?&lt;br /&gt;
| Answer=&lt;br /&gt;
You should use &#039;&#039;&#039;ALSA&#039;&#039;&#039; when:&lt;br /&gt;
&lt;br /&gt;
* You use XBMC as your standalone media center.&lt;br /&gt;
* You are highly interested in bitperfect exclusive audio output.&lt;br /&gt;
* DTS-HD, TrueHD is something you use daily and is of high importance.&lt;br /&gt;
* You don&#039;t need other applications that would access audio in parallel.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Why_cant_I_have_both?&lt;br /&gt;
| BGcolor=whitesmoke&lt;br /&gt;
| Question=Why can&#039;t I have both?&lt;br /&gt;
| Answer=&lt;br /&gt;
* &#039;&#039;&#039;PulseAudio&#039;&#039;&#039; might hog your Audio device and you cannot open the &#039;&#039;&#039;ALSA&#039;&#039;&#039; device exclusively, therefore we decided for one or the other.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{FAQ|1=Forcing_alsa&lt;br /&gt;
| BGcolor=&lt;br /&gt;
| Question=Can I force ALSA even with PulseAudio installed?&lt;br /&gt;
| Answer=&lt;br /&gt;
{{note|But you know that doing so, it will cause problems!}}&lt;br /&gt;
&lt;br /&gt;
Yes, you can - start xbmc from terminal with:&lt;br /&gt;
&amp;lt;pre&amp;gt;AE_SINK=ALSA xbmc&amp;lt;/pre&amp;gt;&lt;br /&gt;
: Be warned as this might interfere with your Desktop sounds and PulseAudio!&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
=== Known issues ===&lt;br /&gt;
When your audio is much too fast or crackles a lot, you might have a broken driver in use. If this is the case, add &#039;&#039;tsched=0&#039;&#039; to the udev loading section in /etc/pulse/default.pa to read like:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;load-module module-udev-detect tsched=0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Pulseaudio is configured to be multi-channel output, e.g. 5.1 profile from within pavucontrol, 2.0 streams are automatically upmixed, no matter what setting you have chosen in xbmc. This is default pulseaudio server behaviour. You can workaround that by disabling &#039;&#039;enable-remixing&#039;&#039; in /etc/pulse/daemon.conf&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;enable-remixing = no&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
{{forum link2|[[forum:183436|Linux - Pulseaudio Sink]] Discussion and further information.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Audio]]&lt;/div&gt;</summary>
		<author><name>Fritsch</name></author>
	</entry>
</feed>