Settings can be made using the configuration file (recommended for all new installations) or by using command-line options.
.SH CONFIGURATION FILE SETTINGS
-You should use the configuration file for setting up shairport-sync. This file is normally \fI/etc/shairport-sync.conf\f1. You may need to have root privileges to modify it.
+You should use the configuration file for setting up shairport-sync. This file is usually \fIshairport-sync.conf\f1 and is generally located in the System Configuration Directory, which is normally the \fI/etc\f1 directory in Linux or the \fI/usr/local/etc\f1 directory in BSD unixes. You may need to have root privileges to modify it.
+
+(Note: Shairport Sync may have been compiled to use a different configuration directory. You can determine which by performing the command \fI$ shairport-sync -V\f1. One of the items in the output string is the value of the \fBsysconfdir\f1, i.e. the System Configuration Directory.)
Settings are organised into groups, for example, there is a "general" group of standard settings, and there is an "alsa" group with settings that pertain to the ALSA back end. Here is an example of a typical configuration file:
Most settings have sensible default values, so -- as in the example above -- users generally only need to set (1) the service name, (2) a password (if desired) and (3) the output device. If the output device has a mixer that can be used for volume control, then (4) the volume control's name should be specified. It is highly desirable to use the output device's mixer for volume control, if available -- response time is reduced to zero and the processor load is reduced. In the example above, "soxr" interpolation was also enabled.
-A sample configuration file with all possible settings, but with all of them commented out, is installed at \fI/etc/shairport-sync.conf.sample\f1.
+A sample configuration file with all possible settings, but with all of them commented out, is installed at \fIshairport-sync.conf.sample\f1, within the System Configuration Directory -- \fI/etc\f1 in Linux, \fI/usr/local/etc\f1 in BSD unixes.
To retain backwards compatibility with previous versions of shairport-sync you can use still use command line options, but any new features, etc. will be available only via configuration file settings.
Allow playback to drift up to \fIframes\f1 out of exact synchronization before attempting to correct it. The default is 88 frames, i.e. 2 ms. The smaller the tolerance, the more likely it is that overcorrection will occur. Overcorrection is when more corrections (insertions and deletions) are made than are strictly necessary to keep the stream in sync. Use the \fBstatistics\f1 setting to monitor correction levels. Corrections should not greatly exceed net corrections.
.TP
\fBresync_threshold=\f1\fIthreshold\f1\fB;\f1
-Resynchronise if timings differ by more than \fIthreshold\f1 frames. If the output timing differs from the source timing by more than the threshold, output will be muted and a full resynchronisation will occur. The default threshold is 2,205 frames, i.e. 50 milliseconds. Specify 0 to disable resynchronisation.
+Resynchronise if timings differ by more than \fIthreshold\f1 frames. If the output timing differs from the source timing by more than the threshold, output will be muted and a full resynchronisation will occur. The default threshold is 2,205 frames, i.e. 50 milliseconds. Specify \fI0\f1 to disable resynchronisation.
.TP
\fBlog_verbosity=\f1\fI0\f1\fB;\f1
-Use this to specify how much debugging information should be output or logged. "0" means no debug information, "3" means most debug information. The default is "0".
+Use this to specify how much debugging information should be output or logged. The value \fI0\f1 means no debug information, \fI3\f1 means most debug information. The default is \fI0\f1.
.TP
\fBignore_volume_control=\f1\fI"choice"\f1\fB;\f1
-Set this \fIchoice\f1 to "yes" if you want the volume to be at 100% no matter what the source's volume control is set to. This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is "no".
+Set this \fIchoice\f1 to \fI"yes"\f1 if you want the volume to be at 100% no matter what the source's volume control is set to. This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is \fI"no"\f1.
.TP
\fBvolume_range_db=\f1\fIdBvalue\f1\fB;\f1
Use this \fIdBvalue\f1 to reduce or increase the attenuation range, in decibels, between the minimum and maximum volume.
As a third example, you can actually extend the range provided by a mixer. Many cheaper DACs have hardware mixers that offer a restricted attenuation range. If you specify a volume range greater than the range of the mixer, software attenuation and hardware attenuation will be combined to give the specified range.
-If you omit this setting, the full "native" range of the mixer is used.
+If you omit this setting, the native range of the mixer is used.
.TP
\fBregtype=\f1\fI"regTypeString"\f1\fB;\f1
-Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is "_raop._tcp".
+Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is \fI"_raop._tcp"\f1.
.TP
\fBplayback_mode=\f1\fI"mode"\f1\fB;\f1
-The \fImode\f1 can be "stereo" or "mono". Default is "stereo".
+The \fImode\f1 can be \fI"stereo"\f1 or \fI"mono"\f1. Default is \fI"stereo"\f1.
.TP
\fB"ALSA" SETTINGS\f1
These settings are for the ALSA back end, used to communicate with audio output devices in the ALSA system. (By the way, you can use tools such as \fBalsamixer\f1 or \fBaplay\f1 to discover what devices are available.) Use these settings to select the output device and the mixer control to be used to control the output volume. You can additionally set the desired size of the output buffer and you can adjust overall latency. Here are the \fBalsa\f1 group settings:
.TP
\fBoutput_device=\f1\fI"output_device"\f1\fB;\f1
-Use the output device called \fIoutput_device\f1. The default is the device called "default".
+Use the output device called \fIoutput_device\f1. The default is the device called \fI"default"\f1.
.TP
.TP
\fBmixer_control_name=\f1\fI"name"\f1\fB;\f1
Specify the \fIname\f1 of the mixer control to be used by shairport-sync to control the volume. The mixer control must be on the mixer device, which by default is the output device. If you do not specify a mixer control name, shairport-sync will adjust the volume in software. \fBmixer_type=\f1\fI"mixer_type"\f1\fB;\f1
-This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the mixer_control_name setting -- if you specify a mixer name with the mixer_control_name setting, it is assumed that the mixer is implemented in hardware.
+This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the \fBmixer_control_name\f1 setting -- if you specify a mixer name with the \fBmixer_control_name\f1 setting, it is assumed that the mixer is implemented in hardware.
.TP
\fBmixer_device=\f1\fI"mixer_device"\f1\fB;\f1
By default, the mixer is assumed to be output_device. Use this setting to specify a device other than the output device.
.TP
\fBaudio_backend_latency_offset=\f1\fIoffset\f1\fB;\f1
-Set this \fIoffset\f1, in frames, to compensate for a fixed delay in the audio back end. For example, if the output device delays by 100 ms, set this to -4410.
+Set this \fIoffset\f1, in frames, to compensate for a fixed delay in the audio back end. For example, if the output device delays by 100 ms, set this to \fI-4410\f1. Default is \fI0\f1.
.TP
\fBaudio_backend_buffer_desired_length=\f1\fIlength\f1\fB;\f1
-Use this to set the desired number frames to be in the output device's hardware output buffer. The default is 6,615 frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines. If too large, the response times when using software volume control (i.e. when not using a mixer control to control volume) become annoying, or it may exceed the hardware buffer size. It may need to be larger on low-powered machines that are also performing other tasks, such as processing metadata.
+Use this to set the desired number frames to be in the output device's hardware output buffer. The default is \fI6,615\f1 frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines. If too large, the response times when using software volume control (i.e. when not using a mixer control to control volume) become annoying, or it may exceed the hardware buffer size. It may need to be larger on low-powered machines that are also performing other tasks, such as processing metadata.
.TP
\fBdisable_synchronization=\f1\fI"no"\f1\fB;\f1
-This is an advanced setting and is for debugging only. Set to "yes" to disable synchronization. Default is "no". If you use it to disable synchronisation, then sooner or later you'll experience audio glitches due to audio buffer overflow or underflow.
+This is an advanced setting and is for debugging only. Set to \fI"yes"\f1 to disable synchronization. Default is \fI"no"\f1. If you use it to disable synchronisation, then sooner or later you'll experience audio glitches due to audio buffer overflow or underflow.
.TP
\fBperiod_size=\f1\fInumber\f1\fB;\f1
Use this optional advanced setting to set the alsa period size near to this value.
\fBbuffer_size=\f1\fInumber\f1\fB;\f1
Use this optional advanced setting to set the alsa buffer size near to this value.
.TP
+\fBuse_mmap_if_available=\f1\fI"yes"\f1\fB;\f1
+Use this optional advanced setting to control whether MMAP-based output is used to communicate with the DAC. Default is \fI"yes"\f1.
+.TP
\fB"PIPE" SETTINGS\f1
These settings are for the PIPE backend, used to route audio to a named unix pipe. The audio is in raw CD audio format: PCM 16 bit little endian, 44,100 samples per second, interleaved stereo.
If you want shairport-sync to wait until the command has completed before starting to play, select the \fB-w\f1 option as well.
.TP
\fB-c \f1\fIfilename\f1\fB | --configfile=\f1\fIfilename\f1
-Read configuration settings from \fIfilename\f1. The default is to read them from \fI/etc/shairport-sync.conf\f1. For information about configuration settings, see the "Configuration File Settings" section above.
+Read configuration settings from \fIfilename\f1. The default is to read them from the \fIshairport-sync.conf\f1 in the System Configuration Directory -- \fI/etc\f1 in Linux, \fI/usr/local/etc\f1 in BSD unixes. For information about configuration settings, see the "Configuration File Settings" section above.
.TP
\fB-D | --disconnectFromOutput\f1
Disconnect the shairport-sync daemon from the output device and exit. (Requires that the daemon has written its PID to an agreed file -- see the \fB-d\f1 option).
<section name="Configuration File Settings">
<p>You should use the configuration file for setting up shairport-sync.
- This file is normally <file>/etc/shairport-sync.conf</file>.
+ This file is usually <file>shairport-sync.conf</file> and is generally located in the System Configuration Directory, which is normally the <file>/etc</file> directory in Linux or the <file>/usr/local/etc</file> directory in BSD unixes.
You may need to have root privileges to modify it.</p>
+ <p>(Note: Shairport Sync may have been compiled to use a different configuration directory. You can determine which by performing the command <file>$ shairport-sync -V</file>. One of the items in the output string is the value of the <opt>sysconfdir</opt>,
+ i.e. the System Configuration Directory.)</p>
+
+
<p>Settings are organised into <i>groups</i>, for example, there is a "general" group of
standard settings, and there is an "alsa" group with settings that pertain to the ALSA
back end. Here is an example of a typical configuration file:</p>
<p>Most settings have sensible default values, so -- as in the example above -- users generally only need to set (1) the service name, (2) a password (if desired) and
(3) the output device. If the output device has a mixer that can be used for volume control, then (4) the volume control's name should be specified. It is highly desirable to use the output device's mixer for volume control, if available -- response time is reduced to zero and the processor load is reduced. In the example above, "soxr" interpolation was also enabled.</p>
- <p>A sample configuration file with all possible settings, but with all of them commented out, is installed at <file>/etc/shairport-sync.conf.sample</file>.</p>
+ <p>A sample configuration file with all possible settings, but with all of them commented out, is installed at <file>shairport-sync.conf.sample</file>, within the System Configuration Directory -- <file>/etc</file> in Linux, <file>/usr/local/etc</file> in BSD unixes.</p>
<p>To retain backwards compatibility with previous versions of shairport-sync
you can use still use command line options, but any new features, etc. will
</option>
<option>
<p><opt>udp_port_range=</opt><arg>range</arg><opt>;</opt></p>
- <optdesc>Use this in conjunction with the prevous setting to specify the <arg>range</arg> of ports that can be checked for availability. Only three ports are needed. The default is 100, thus 100 ports will be checked from port 6001 upwards until three are found.</optdesc>
+ <optdesc>Use this in conjunction with the prevous setting to specify the <arg>range</arg> of ports that can be checked for availability. Only three ports are needed.
+ The default is 100, thus 100 ports will be checked from port 6001 upwards until three are found.</optdesc>
</option>
<option>
<p><opt>drift=</opt><arg>frames</arg><opt>;</opt></p>
If the output timing differs from the source timing by more than
the threshold, output will be muted and a full resynchronisation
will occur. The default threshold is 2,205 frames, i.e. 50
- milliseconds. Specify 0 to disable resynchronisation.</optdesc>
+ milliseconds. Specify <arg>0</arg> to disable resynchronisation.</optdesc>
</option>
<option>
<p><opt>log_verbosity=</opt><arg>0</arg><opt>;</opt></p>
- <optdesc>Use this to specify how much debugging information should be output or logged. "0" means no debug information, "3" means most debug information. The default is "0".</optdesc>
+ <optdesc>Use this to specify how much debugging information should be output or logged. The value <arg>0</arg> means no debug information, <arg>3</arg> means most debug information. The default is <arg>0</arg>.</optdesc>
</option>
<option>
<p><opt>ignore_volume_control=</opt><arg>"choice"</arg><opt>;</opt></p>
- <optdesc>Set this <arg>choice</arg> to "yes" if you want the volume to be at 100% no matter what the source's volume control is set to. This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is "no".</optdesc>
+ <optdesc>Set this <arg>choice</arg> to <arg>"yes"</arg> if you want the volume to be at 100% no matter what the source's volume control is set to.
+ This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is <arg>"no"</arg>.</optdesc>
</option>
<option>
Many cheaper DACs have hardware mixers that offer a restricted attenuation range.
If you specify a volume range greater than the range of the mixer, software attenuation and hardware attenuation
will be combined to give the specified range.</p>
- <p>If you omit this setting, the full "native" range of the mixer is used.</p></optdesc>
+ <p>If you omit this setting, the native range of the mixer is used.</p></optdesc>
</option>
<option>
<p><opt>regtype=</opt><arg>"regTypeString"</arg><opt>;</opt></p>
- <optdesc>Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is "_raop._tcp".</optdesc>
+ <optdesc>Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is <arg>"_raop._tcp"</arg>.</optdesc>
</option>
<option>
<p><opt>playback_mode=</opt><arg>"mode"</arg><opt>;</opt></p>
- <optdesc>The <arg>mode</arg> can be "stereo" or "mono". Default is "stereo".</optdesc>
+ <optdesc>The <arg>mode</arg> can be <arg>"stereo"</arg> or <arg>"mono"</arg>. Default is <arg>"stereo"</arg>.</optdesc>
</option>
<option>
<p><opt>output_device=</opt><arg>"output_device"</arg><opt>;</opt></p>
- <optdesc>Use the output device called <arg>output_device</arg>. The default is the device called "default".</optdesc>
+ <optdesc>Use the output device called <arg>output_device</arg>. The default is the device called <arg>"default"</arg>.</optdesc>
</option>
<option>
<option>
If you do not specify a mixer control name, shairport-sync will adjust the volume in software.</optdesc>
</option>
<p><opt>mixer_type=</opt><arg>"mixer_type"</arg><opt>;</opt></p>
- <optdesc>This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the mixer_control_name setting
- -- if you specify a mixer name with the mixer_control_name setting, it is assumed that the mixer is implemented in hardware.</optdesc>
+ <optdesc>This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the <opt>mixer_control_name</opt> setting
+ -- if you specify a mixer name with the <opt>mixer_control_name</opt> setting, it is assumed that the mixer is implemented in hardware.</optdesc>
</option>
<option>
<p><opt>mixer_device=</opt><arg>"mixer_device"</arg><opt>;</opt></p>
<option>
<p><opt>audio_backend_latency_offset=</opt><arg>offset</arg><opt>;</opt></p>
<optdesc>Set this <arg>offset</arg>, in frames, to compensate for a fixed delay in the audio back end.
- For example, if the output device delays by 100 ms, set this to -4410.</optdesc>
+ For example, if the output device delays by 100 ms, set this to <arg>-4410</arg>. Default is <arg>0</arg>.</optdesc>
</option>
<option>
<p><opt>audio_backend_buffer_desired_length=</opt><arg>length</arg><opt>;</opt></p>
<optdesc>Use this to set the desired number frames to be in the output device's hardware output buffer.
- The default is 6,615 frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines.
+ The default is <arg>6,615</arg> frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines.
If too large, the response times when using software volume control (i.e. when not using a mixer control to control volume) become annoying,
or it may exceed the hardware buffer size.
It may need to be larger on low-powered machines that are also performing other tasks, such as processing metadata.</optdesc>
<option>
<p><opt>disable_synchronization=</opt><arg>"no"</arg><opt>;</opt></p>
- <optdesc>This is an advanced setting and is for debugging only. Set to "yes" to disable synchronization. Default is "no".
+ <optdesc>This is an advanced setting and is for debugging only. Set to <arg>"yes"</arg> to disable synchronization. Default is <arg>"no"</arg>.
If you use it to disable synchronisation, then sooner or later you'll experience audio glitches due to
audio buffer overflow or underflow.
</optdesc>
<p><opt>buffer_size=</opt><arg>number</arg><opt>;</opt></p>
<optdesc>Use this optional advanced setting to set the alsa buffer size near to this value.</optdesc>
</option>
-
+ <option>
+ <p><opt>use_mmap_if_available=</opt><arg>"yes"</arg><opt>;</opt></p>
+ <optdesc> Use this optional advanced setting to control whether MMAP-based output is used to communicate with the DAC. Default is <arg>"yes"</arg>.</optdesc>
+ </option>
+
<option><p><opt>"PIPE" SETTINGS</opt></p></option>
<p>These settings are for the PIPE backend, used to route audio to a named unix pipe. The audio is in raw CD audio format: PCM 16 bit little endian, 44,100 samples per second,
interleaved stereo.</p>
<option>
<p><opt>-c </opt><arg>filename</arg><opt> | --configfile=</opt><arg>filename</arg></p>
<optdesc><p>
- Read configuration settings from <arg>filename</arg>. The default is to read them from <file>/etc/shairport-sync.conf</file>. For information about configuration settings, see the "Configuration File Settings" section above.
+ Read configuration settings from <arg>filename</arg>. The default is to read them from the <file>shairport-sync.conf</file> in the System Configuration Directory -- <file>/etc</file> in Linux, <file>/usr/local/etc</file> in BSD unixes.
+ For information about configuration settings, see the "Configuration File Settings" section above.
</p></optdesc>
</option>
<h2>Configuration File Settings</h2>
<p>You should use the configuration file for setting up shairport-sync.
- This file is normally <em>/etc/shairport-sync.conf</em>.
+ This file is usually <em>shairport-sync.conf</em> and is generally located in the System Configuration Directory, which is normally the <em>/etc</em> directory in Linux or the <em>/usr/local/etc</em> directory in BSD unixes.
You may need to have root privileges to modify it.</p>
+ <p>(Note: Shairport Sync may have been compiled to use a different configuration directory. You can determine which by performing the command <em>$ shairport-sync -V</em>. One of the items in the output string is the value of the <b>sysconfdir</b>,
+ i.e. the System Configuration Directory.)</p>
+
+
<p>Settings are organised into groups, for example, there is a "general" group of
standard settings, and there is an "alsa" group with settings that pertain to the ALSA
back end. Here is an example of a typical configuration file:</p>
<p>Most settings have sensible default values, so -- as in the example above -- users generally only need to set (1) the service name, (2) a password (if desired) and
(3) the output device. If the output device has a mixer that can be used for volume control, then (4) the volume control's name should be specified. It is highly desirable to use the output device's mixer for volume control, if available -- response time is reduced to zero and the processor load is reduced. In the example above, "soxr" interpolation was also enabled.</p>
- <p>A sample configuration file with all possible settings, but with all of them commented out, is installed at <em>/etc/shairport-sync.conf.sample</em>.</p>
+ <p>A sample configuration file with all possible settings, but with all of them commented out, is installed at <em>shairport-sync.conf.sample</em>, within the System Configuration Directory -- <em>/etc</em> in Linux, <em>/usr/local/etc</em> in BSD unixes.</p>
<p>To retain backwards compatibility with previous versions of shairport-sync
you can use still use command line options, but any new features, etc. will
<p><b>udp_port_range=</b><em>range</em><b>;</b></p>
- Use this in conjunction with the prevous setting to specify the <em>range</em> of ports that can be checked for availability. Only three ports are needed. The default is 100, thus 100 ports will be checked from port 6001 upwards until three are found.
+ Use this in conjunction with the prevous setting to specify the <em>range</em> of ports that can be checked for availability. Only three ports are needed.
+ The default is 100, thus 100 ports will be checked from port 6001 upwards until three are found.
<p><b>drift=</b><em>frames</em><b>;</b></p>
If the output timing differs from the source timing by more than
the threshold, output will be muted and a full resynchronisation
will occur. The default threshold is 2,205 frames, i.e. 50
- milliseconds. Specify 0 to disable resynchronisation.
+ milliseconds. Specify <em>0</em> to disable resynchronisation.
<p><b>log_verbosity=</b><em>0</em><b>;</b></p>
- Use this to specify how much debugging information should be output or logged. "0" means no debug information, "3" means most debug information. The default is "0".
+ Use this to specify how much debugging information should be output or logged. The value <em>0</em> means no debug information, <em>3</em> means most debug information. The default is <em>0</em>.
<p><b>ignore_volume_control=</b><em>"choice"</em><b>;</b></p>
- Set this <em>choice</em> to "yes" if you want the volume to be at 100% no matter what the source's volume control is set to. This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is "no".
+ Set this <em>choice</em> to <em>"yes"</em> if you want the volume to be at 100% no matter what the source's volume control is set to.
+ This might be useful if you want to set the volume on the output device, independently of the setting at the source. The default is <em>"no"</em>.
Many cheaper DACs have hardware mixers that offer a restricted attenuation range.
If you specify a volume range greater than the range of the mixer, software attenuation and hardware attenuation
will be combined to give the specified range.</p>
- <p>If you omit this setting, the full "native" range of the mixer is used.</p>
+ <p>If you omit this setting, the native range of the mixer is used.</p>
<p><b>regtype=</b><em>"regTypeString"</em><b>;</b></p>
- Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is "_raop._tcp".
+ Use this advanced setting to set the service type and transport to be advertised by Zeroconf/Bonjour. Default is <em>"_raop._tcp"</em>.
<p><b>playback_mode=</b><em>"mode"</em><b>;</b></p>
- The <em>mode</em> can be "stereo" or "mono". Default is "stereo".
+ The <em>mode</em> can be <em>"stereo"</em> or <em>"mono"</em>. Default is <em>"stereo"</em>.
<p><b>output_device=</b><em>"output_device"</em><b>;</b></p>
- Use the output device called <em>output_device</em>. The default is the device called "default".
+ Use the output device called <em>output_device</em>. The default is the device called <em>"default"</em>.
If you do not specify a mixer control name, shairport-sync will adjust the volume in software.
<p><b>mixer_type=</b><em>"mixer_type"</em><b>;</b></p>
- This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the mixer_control_name setting
- -- if you specify a mixer name with the mixer_control_name setting, it is assumed that the mixer is implemented in hardware.
+ This setting is deprecated and is ignored. For your information, its functionality has been automatically incorporated in the <b>mixer_control_name</b> setting
+ -- if you specify a mixer name with the <b>mixer_control_name</b> setting, it is assumed that the mixer is implemented in hardware.
<p><b>mixer_device=</b><em>"mixer_device"</em><b>;</b></p>
<p><b>audio_backend_latency_offset=</b><em>offset</em><b>;</b></p>
Set this <em>offset</em>, in frames, to compensate for a fixed delay in the audio back end.
- For example, if the output device delays by 100 ms, set this to -4410.
+ For example, if the output device delays by 100 ms, set this to <em>-4410</em>. Default is <em>0</em>.
<p><b>audio_backend_buffer_desired_length=</b><em>length</em><b>;</b></p>
Use this to set the desired number frames to be in the output device's hardware output buffer.
- The default is 6,615 frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines.
+ The default is <em>6,615</em> frames, or 0.15 seconds. If set too small, buffer underflow may occur on low-powered machines.
If too large, the response times when using software volume control (i.e. when not using a mixer control to control volume) become annoying,
or it may exceed the hardware buffer size.
It may need to be larger on low-powered machines that are also performing other tasks, such as processing metadata.
<p><b>disable_synchronization=</b><em>"no"</em><b>;</b></p>
- This is an advanced setting and is for debugging only. Set to "yes" to disable synchronization. Default is "no".
+ This is an advanced setting and is for debugging only. Set to <em>"yes"</em> to disable synchronization. Default is <em>"no"</em>.
If you use it to disable synchronisation, then sooner or later you'll experience audio glitches due to
audio buffer overflow or underflow.
Use this optional advanced setting to set the alsa buffer size near to this value.
+ <p><b>use_mmap_if_available=</b><em>"yes"</em><b>;</b></p>
+ Use this optional advanced setting to control whether MMAP-based output is used to communicate with the DAC. Default is <em>"yes"</em>.
+
+
<p><b>"PIPE" SETTINGS</b></p>
<p>These settings are for the PIPE backend, used to route audio to a named unix pipe. The audio is in raw CD audio format: PCM 16 bit little endian, 44,100 samples per second,
interleaved stereo.</p>
<p><b>-c </b><em>filename</em><b> | --configfile=</b><em>filename</em></p>
<p>
- Read configuration settings from <em>filename</em>. The default is to read them from <em>/etc/shairport-sync.conf</em>. For information about configuration settings, see the "Configuration File Settings" section above.
+ Read configuration settings from <em>filename</em>. The default is to read them from the <em>shairport-sync.conf</em> in the System Configuration Directory -- <em>/etc</em> in Linux, <em>/usr/local/etc</em> in BSD unixes.
+ For information about configuration settings, see the "Configuration File Settings" section above.
</p>