@@ -6,7 +6,7 @@ bluealsa-aplay
6
6
a simple BlueALSA player
7
7
------------------------
8
8
9
- :Date: August 2024
9
+ :Date: February 2025
10
10
:Manual section: 1
11
11
:Manual group: General Commands Manual
12
12
:Version: $VERSION$
@@ -58,7 +58,8 @@ OPTIONS
58
58
(i.e., all messages are logged).
59
59
60
60
-v, --verbose
61
- Make the output more verbose.
61
+ Make the output more verbose. This option may be given multiple times to
62
+ increase the verbosity.
62
63
63
64
-l, --list-devices
64
65
List connected Bluetooth audio devices.
@@ -89,35 +90,40 @@ OPTIONS
89
90
90
91
--pcm-buffer-time=INT
91
92
Set the playback PCM buffer duration time to *INT * microseconds.
92
- The default is 200000 . It is recommended to choose a buffer time that is
93
- an exact multiple of the period time to avoid potential issues with some
94
- ALSA plugins (see --pcm-period-time option below).
95
- ALSA may choose the nearest available alternative if the requested value is
96
- not supported .
93
+ The default is four times the period time . It is recommended to choose a
94
+ buffer time that is an exact multiple of the period time to avoid potential
95
+ issues with some ALSA plugins (see --pcm-period-time option below). For
96
+ reliable performance the buffer time should be at least 3 times the period
97
+ time .
97
98
98
- If you experience underruns on the ALSA device then a larger buffer may
99
- help. However, a larger buffer will also increase the latency. For reliable
100
- performance the buffer time should be at least 3 times the period time .
99
+ ALSA may choose the nearest available alternative if the requested value is
100
+ not supported; and some ALSA devices may ignore the requested value
101
+ completely (e.g. ** dmix **, see dmix _ in the ** NOTES ** section below) .
101
102
102
103
--pcm-period-time=INT
103
- Set the playback PCM period duration time to *INT * microseconds.
104
- The default is 50000.
104
+ Set the playback PCM period duration time to *INT * microseconds. The
105
+ default is 50000 for A2DP and 20000 for SCO profiles .
105
106
ALSA may choose the nearest available alternative if the requested value is
106
- not supported.
107
+ not supported; and some ALSA devices may ignore the requested value
108
+ completely (e.g. **dmix **, see dmix _ in the **NOTES ** section below).
109
+
110
+ If you experience underruns on the ALSA device or overruns on the Bluetooth
111
+ stream then a larger period time may help. However, a larger period time
112
+ will also increase the latency.
107
113
108
114
The ALSA **rate ** plugin, which may be invoked by **plug **, does not always
109
115
produce the exact required effective sample rate because of rounding errors
110
116
in the conversion between period time and period size. This can have a
111
117
significant impact on synchronization "drift", especially with small period
112
118
sizes, and can also result in stream underruns (if the effective rate is
113
- too fast) or dropped A2DP frames in the ** bluealsad(8) ** server (if the
114
- effective rate is too slow). This effect is avoided if the selected period
115
- time results in an exact integer number of frames for both the source rate
116
- (Bluetooth) and sink rate ( hardware card). For example, in the case of
117
- Bluetooth stream sampled at 44100Hz playing to a hardware device that
118
- supports only 48000Hz, choosing a period time that is a multiple of 10000
119
- microseconds will result in zero rounding error. (10000 µs at 44100Hz is
120
- 441 frames, and at 48000Hz is 480 frames).
119
+ too fast) or dropped frames (if the effective rate is too slow). This
120
+ effect is avoided if the selected period time results in an exact integer
121
+ number of frames for both the source rate (Bluetooth) and sink rate
122
+ (hardware card). For example, in the case of Bluetooth stream sampled at
123
+ 44100 Hz playing to a hardware device that supports only 48000 Hz, choosing
124
+ a period time that is a multiple of 10000 microseconds will result in zero
125
+ rounding error. (10000 µs at 44100 Hz is 441 frames, and at 48000 Hz is 480
126
+ frames).
121
127
122
128
See also dmix _ in the **NOTES ** section below for more information on
123
129
rate calculation rounding errors.
@@ -226,13 +232,14 @@ control.
226
232
dmix
227
233
----
228
234
229
- The ALSA `dmix ` plugin will ignore the period and buffer times selected by the
230
- application (because it has to allow connections from multiple applications).
231
- Instead it will choose its own values, which can lead to rounding errors in the
232
- period size calculation when used with the ALSA `rate ` plugin. To avoid this,
233
- it is recommended to explicitly define the hardware period size and buffer size
234
- for dmix in your ALSA configuration. For example, suppose we want a period time
235
- of 50000 µs and a buffer holding 4 periods with an Intel 'PCH' card:
235
+ The ALSA **dmix ** plugin will ignore the period and buffer times selected by
236
+ the application (because it has to allow connections from multiple
237
+ applications). Instead it will choose its own values, which can lead to
238
+ rounding errors in the period size calculation when used with the ALSA **rate **
239
+ plugin. To avoid this, it is recommended to explicitly define the hardware
240
+ period size and buffer size for **dmix ** in your ALSA configuration. For
241
+ example, suppose we want a period time of 50000 µs and a buffer holding 4
242
+ periods with an Intel 'PCH' card:
236
243
237
244
::
238
245
@@ -260,7 +267,7 @@ EXAMPLES
260
267
========
261
268
262
269
The simplest usage of **bluealsa-aplay ** is to run it with no arguments. It
263
- will play audio from all connected Bluetooth devices to the `` default `` ALSA
270
+ will play audio from all connected Bluetooth devices to the ** default ** ALSA
264
271
playback PCM.
265
272
266
273
::
0 commit comments