mikebrady / shairport-sync

AirPlay and AirPlay 2 audio player
Other
7.29k stars 574 forks source link

[Problem]: Audio dropouts with "alsa underrun" and "large negative sync" #1688

Closed mc510 closed 1 year ago

mc510 commented 1 year ago

What happened?

I'm getting a periodic audio dropout of a (noticeable) fraction of a second roughly every minute or so, with with "alsa underrun" and "large negative sync" errors at the same time. (I was also getting a variety of other error messages -- not always with an audio artifact -- with version 4.1, but since I built 4.2 yesterday I've only observed this one symptom so far.) Not sure if #1682 is related; unlike that report I don't see any unusual load on the cpu at any point.

Device is Orange Pi Zero which is renowned for having terrible wifi, but if I'm reading the statistics correctly there doesn't seem to be a network problem? Power management is off.

Audio source is TuneIn streaming radio app on iPhone. Audio device is the built-in sunxi-codec.

I presume that this is more of a "me" problem than a "shairport-sync" problem, but if anyone would help with interpretation of the messages and symptoms I would be grateful.

Relevant log output

$ shairport-sync -v --statistics
         0.005719417 "shairport.c:2251" Startup in classic Airplay (aka "AirPlay 1") mode.
         0.000367708 "shairport.c:2287" Version String: "4.2-1-g12ad72c4-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc"
         0.000087875 "shairport.c:2306" Command Line: "shairport-sync -v --statistics".
         0.000060334 "shairport.c:2342" Log Verbosity is 1.
         0.000190250 "audio_alsa.c:1020" alsa: alsa_maximum_stall_time of 0.200000 sec.
         0.000186750 "audio_alsa.c:1225" Value read for buffer size is 19845.
         0.000083541 "audio_alsa.c:1309" alsa: disable_standby_mode is "never".
         0.000097250 "audio_alsa.c:1313" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.
         0.000061625 "audio_alsa.c:1315" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.
         0.000171084 "audio_alsa.c:1355" alsa: output device name is "hw:0".
         0.000544416 "shairport.c:2390" disable_resend_requests is off.
         0.000114459 "shairport.c:2391" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
         0.000070708 "shairport.c:2395" statistics_requester status is 1.
         0.000056375 "shairport.c:2400" rtsp listening port is 5000.
         0.000055208 "shairport.c:2401" udp base port is 6001.
         0.000050667 "shairport.c:2402" udp port range is 10.
         0.000050083 "shairport.c:2403" player name is "Bose Radio (AUX)".
         0.000050459 "shairport.c:2404" backend is "alsa".
         0.000049291 "shairport.c:2405" run_this_before_play_begins action is "(null)".
         0.000052375 "shairport.c:2406" run_this_after_play_ends action is "(null)".
         0.000056084 "shairport.c:2407" wait-cmd status is 0.
         0.000051833 "shairport.c:2408" run_this_before_play_begins may return output is 0.
         0.000055417 "shairport.c:2409" run_this_if_an_unfixable_error_is_detected action is "(null)".
         0.000053916 "shairport.c:2411" run_this_before_entering_active_state action is  "(null)".
         0.000053042 "shairport.c:2413" run_this_after_exiting_active_state action is  "(null)".
         0.000052875 "shairport.c:2415" active_state_timeout is  10.000000 seconds.
         0.000068083 "shairport.c:2416" mdns backend "(null)".
         0.000053750 "shairport.c:2418" interpolation setting is "basic".
         0.000058584 "shairport.c:2422" interpolation soxr_delay_threshold is 30000000.
         0.000056708 "shairport.c:2423" resync time is 0.050000 seconds.
         0.000057625 "shairport.c:2424" resync recovery time is 0.100000 seconds.
         0.000056708 "shairport.c:2425" allow a session to be interrupted: 0.
         0.000051584 "shairport.c:2426" busy timeout time is 120.
         0.000052125 "shairport.c:2427" drift tolerance is 0.002000 seconds.
         0.000057333 "shairport.c:2428" password is "(null)".
         0.000051792 "shairport.c:2429" default airplay volume is: -24.000000.
         0.000062375 "shairport.c:2430" high threshold airplay volume is: -16.000000.
         0.000059041 "shairport.c:2432" check for higher-than-threshold volume for new play session is disabled.
         0.000052417 "shairport.c:2438" ignore_volume_control is 1.
         0.000051625 "shairport.c:2442" volume_max_db is not set
         0.000049208 "shairport.c:2443" volume range in dB (zero means use the range specified by the mixer): 0.
         0.000053834 "shairport.c:2445" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.
         0.000054125 "shairport.c:2449" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
         0.000133250 "shairport.c:2451" disable_synchronization is 0.
         0.000060500 "shairport.c:2452" use_mmap_if_available is 1.
         0.000051791 "shairport.c:2453" output_format automatic selection is enabled.
         0.000051709 "shairport.c:2457" output_rate automatic selection is enabled.
         0.000051666 "shairport.c:2461" audio backend desired buffer length is 0.200000 seconds.
         0.000057042 "shairport.c:2463" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.
         0.000059750 "shairport.c:2465" audio backend latency offset is 0.000000 seconds.
         0.000055000 "shairport.c:2467" audio backend silence lead-in time is "auto".
         0.000050583 "shairport.c:2471" zeroconf regtype is "_raop._tcp".
         0.000051584 "shairport.c:2472" decoders_supported field is 1.
         0.000051500 "shairport.c:2473" use_apple_decoder is 0.
         0.000049666 "shairport.c:2474" alsa_use_hardware_mute is 0.
         0.000052584 "shairport.c:2478" no special mdns service interface was requested.
         0.000157125 "shairport.c:2481" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
         0.000075833 "shairport.c:2511" loudness is 0.
         0.000053375 "shairport.c:2512" loudness reference level is -20.000000
        21.115481468 "rtsp.c:1376" Connection 2: Connection closed by client.
         0.411992376 "rtsp.c:1663" Connection 1: Classic AirPlay connection from fe80::e3:6ff4:8ea5:4303:49159 to self at fe80::d567:61d6:382c:5a32:5000.
         0.011725958 "audio_alsa.c:618" Attempting to set the buffer size to 19845
         1.957885543 "player.c:2822" Connection 1: Playback started at frame 322903286 -- Classic AirPlay ("AirPlay 1").
         7.922102837 "player.c:2629" Sync Error ms | Net Sync PPM | All Sync PPM | Missing |   Late | Too Late | Resend Reqs | Min DAC Queue | Min Buffers | Max Buffers | Nominal FPS | Received FPS | Output FPS (r) | Output FPS (c) | Source Drift PPM | Drift Samples
         0.000387666 "player.c:2629"          0.14            0.0            0.0         0        0          0             0            7426           216           246      44100.03       44609.15              N/A              N/A               0.00               0
         8.024675463 "player.c:2629"         -0.38            0.0            0.0         0        0          0             0            7383           188           249      44099.96       44534.26         44098.36         44099.07               0.00               0
         7.990506295 "player.c:2629"         -0.42            0.0            0.0         0        0          0             0            7382           236           248      44099.98       44374.19         44100.54         44101.25               0.00               0
         8.018067337 "player.c:2629"         -0.41            0.0            0.0         0        0          0             0            7374           236           248      44100.00       44307.73         44098.76         44099.47               0.00               0
         7.987997087 "player.c:2629"         -0.39            0.0            0.0         0        0          0             0            7389           236           248      44100.00       44257.11         44100.61         44101.32               0.00               0
         8.012103296 "player.c:2629"         -0.40            0.0            0.0         0        0          0             0            7388           236           248      44100.00       44160.32         44099.65         44100.36               0.00               0
         7.994899920 "player.c:2629"         -0.42            0.0            0.0         0        0          0             0            7379           236           248      44099.99       44205.96         44099.95         44100.66               0.00               0
         8.017160962 "player.c:2629"         -0.39            0.0            0.0         0        0          0             0            7388           235           249      44099.99       44196.18         44100.33         44101.04               0.00               0
         8.022298004 "player.c:2629"         -0.41            0.0            0.0         0        0          0             0            7387           236           248      44100.00       44185.05         44100.14         44100.85               0.00               0
         7.987204296 "player.c:2629"         -0.41            0.0            0.0         0        0          0             0            7376           236           249      44100.00       44178.54         44100.19         44100.90               0.00               0
         8.008043170 "player.c:2629"         -0.42            0.0            0.0         0        0          0             0            7376           234           249      44100.00       44127.65         44100.26         44100.97               0.00               0
         7.998345879 "player.c:2629"         -0.41            0.0            0.0         0        0          0             0            7388           236           249      44100.00       44140.02         44099.80         44100.51               0.00               0
         0.863247709 "audio_alsa.c:1753" alsa: underrun while writing 352 samples to alsa device.
         0.033756916 "player.c:2884" Large negative (i.e. early) sync error of -7739 frames (-0.175488 seconds), at frame: 327176214.
         7.118760212 "player.c:2629"         -3.28          778.9          778.9         0        0          0             0               0           236           249      44100.07       44127.41         44176.49         44177.20               0.00               0
         8.017811754 "player.c:2629"         -1.73           11.3           11.3         0        0          0             0            7328           236           249      44100.00       44129.66         44170.92         44171.63               0.00               0
         7.988638795 "player.c:2629"         -1.14            2.8            2.8         0        0          0             0            7350           235           249      44099.99       44120.52         44165.92         44166.63               0.00               1
         8.009253546 "player.c:2629"         -1.08            0.0            0.0         0        0          0             0            7349           236           249      44100.02       43988.78         44161.38         44162.09               0.00               1
         7.991853337 "player.c:2629"         -1.08            0.0            0.0         0        0          0             0            7351           235           248      44100.02       44041.62         44157.71         44158.42               0.00               1
         8.022812004 "player.c:2629"         -1.08            0.0            0.0         0        0          0             0            7351           235           247      44100.01       44108.66         44154.31         44155.02               0.00               1
         7.987296920 "player.c:2629"         -1.07            0.0            0.0         0        0          0             0            7348           236           248      44100.01       44103.97         44151.28         44151.99               0.00               1
         8.020981963 "player.c:2629"         -1.07            0.0            0.0         0        0          0             0            7349           236           249      44100.00       44104.14         44148.53         44149.24               0.00               1
         8.007335628 "player.c:2629"         -0.88            0.0            0.0         0        0          0             0            7365           236           249      44100.01       44080.06         44145.87         44146.58               0.00               2
         7.989887088 "player.c:2629"         -0.68            0.0            0.0         0        0          0             0            7369           236           249      44100.01       44063.99         44143.97         44144.68               0.00               3
         8.024901045 "player.c:2629"         -0.79            0.0            0.0         0        0          0             0            7373           236           249      44100.00       44103.76         44141.90         44142.60               0.00               3
         7.988054295 "player.c:2629"         -0.78            0.0            0.0         0        0          0             0            7357           233           249      44100.00       44104.56         44140.10         44140.81               0.00               3
         8.020581754 "player.c:2629"         -0.82            0.0            0.0         0        0          0             0            7367           236           249      44100.00       44101.68         44138.45         44139.16               0.00               3
         3.587737002 "audio_alsa.c:1753" alsa: underrun while writing 352 samples to alsa device.
         0.033486167 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.000319791 "player.c:2884" Large negative (i.e. early) sync error of -7764 frames (-0.176054 seconds), at frame: 331885622.
         4.386916336 "player.c:2629"         -2.65          594.8          594.8         0        0          0             0               0           236           249      44099.75       36797.69         44171.78         44172.49               0.00               4
         7.989621795 "player.c:2629"         -1.74           19.8           19.8         0        0          0             0            7339           236           249      44099.98       43748.94         44169.03         44169.74               0.00               4
         1.892032335 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.033142833 "player.c:2884" Large negative (i.e. early) sync error of -7491 frames (-0.169864 seconds), at frame: 332516054.
         0.001912375 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.059452792 "audio_alsa.c:1753" alsa: underrun while writing 352 samples to alsa device.
         0.033591500 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.000265250 "player.c:2884" Large negative (i.e. early) sync error of -7901 frames (-0.179161 seconds), at frame: 332520630.
         6.006074127 "player.c:2629"         -3.83          637.3          637.3         0        0          0             0               0           236           248      44099.78       44014.23         44195.75         44196.46               0.00               5
         7.985948463 "player.c:2629"         -1.73           19.8           19.8         0        0          0             0            7325           235           248      44099.93       44105.56         44192.32         44193.03               0.00               5
         8.020891878 "player.c:2629"         -1.23            0.0            0.0         0        0          0             0            7349           236           249      44099.99       44104.49         44189.00         44189.71               0.00               6
         7.985663254 "player.c:2629"         -0.88            0.0            0.0         0        0          0             0            7359           236           248      44099.96       44098.27         44186.18         44186.89               0.00               6
         8.013016129 "player.c:2629"         -0.86            0.0            0.0         0        0          0             0            7360           236           248      44099.98       44003.69         44183.37         44184.08               0.00               6
         8.023074796 "player.c:2629"         -0.84            0.0            0.0         0        0          0             0            7375           236           249      44099.99       44104.59         44180.72         44181.43               0.00               6
         7.988732212 "player.c:2629"         -0.87            0.0            0.0         0        0          0             0            7372           236           249      44099.99       44098.45         44178.33         44179.04               0.00               6
         8.019367420 "player.c:2629"         -0.85            0.0            0.0         0        0          0             0            7369           235           249      44099.99       44100.78         44176.05         44176.75               0.00               6
         8.005555796 "player.c:2629"         -0.48            0.0            0.0         0        0          0             0            7373           236           249      44099.99       44051.72         44173.70         44174.40               0.00               7
         7.995542962 "player.c:2629"         -0.44            0.0            0.0         0        0          0             0            7382           236           249      44099.99       44082.22         44171.80         44172.51               0.00               7
         8.021335545 "player.c:2629"         -0.43            0.0            0.0         0        0          0             0            7404           235           248      44099.99       44101.57         44169.88         44170.59               0.00               7
         7.990593921 "player.c:2629"         -0.41            0.0            0.0         0        0          0             0            7391           236           249      44099.99       44101.21         44168.03         44168.74               0.00               7
         8.018531254 "player.c:2629"         -0.50            0.0            0.0         0        0          0             0            7276           234           248      44100.00       44099.63         44166.31         44167.01               4.84               9
         0.093482541 "audio_alsa.c:1753" alsa: underrun while writing 352 samples to alsa device.
         0.022340542 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.000817875 "player.c:2884" Large negative (i.e. early) sync error of -8291 frames (-0.188005 seconds), at frame: 337027990.
         7.877294837 "player.c:2629"         -3.45          773.2          773.2         0        0          0             0               0           236           249      44100.04       44652.47         44188.27         44188.98               4.84               9
         8.007864921 "player.c:2629"         -1.74            8.5            8.5         0        0          0             0            7317           236           248      44100.03       44290.45         44185.99         44186.70               4.50              10
         8.021623920 "player.c:2629"         -1.67            2.8            2.8         0        0          0             0            7342           233           248      44099.98       44214.51         44184.02         44184.73               4.74              11
         7.986052754 "player.c:2629"         -1.60            0.0            0.0         0        0          0             0            7333           233           249      44099.99       44188.46         44182.09         44182.80               4.74              11
         8.020465587 "player.c:2629"         -1.56            0.0            0.0         0        0          0             0            7334           235           249      44100.00       44171.60         44180.12         44180.83               4.74              11
         7.989295462 "player.c:2629"         -1.52            0.0            0.0         0        0          0             0            7329           236           249      44100.01       44151.85         44178.45         44179.16               4.74              11
         8.009470379 "player.c:2629"         -1.50            0.0            0.0         0        0          0             0            7333           236           248      44100.01       44084.46         44176.73         44177.44               4.56              12
         8.023201129 "player.c:2629"         -1.47            0.0            0.0         0        0          0             0            7334           236           248      44100.00       44138.88         44175.08         44175.79               4.56              12
         7.991338545 "player.c:2629"         -1.44            0.0            0.0         0        0          0             0            7338           236           249      44100.00       44133.36         44173.50         44174.21               4.56              12
         8.018355754 "player.c:2629"         -1.38            0.0            0.0         0        0          0             0            7336           236           249      44100.00       44132.18         44171.99         44172.70               5.20              13
         7.988381587 "player.c:2629"         -1.30            0.0            0.0         0        0          0             0            7349           234           249      44100.01       44130.37         44170.62         44171.32               4.96              14
         7.996895629 "player.c:2629"         -1.27            0.0            0.0         0        0          0             0            7346           236           248      44100.00       44120.68         44169.22         44169.93               5.04              15
         8.007817504 "player.c:2629"         -1.21            0.0            0.0         0        0          0             0            7341           235           249      44100.00       44123.97         44167.82         44168.53               5.04              15
         8.016609254 "player.c:2629"         -1.18            0.0            0.0         0        0          0             0            7351           236           248      44100.00       44121.37         44166.58         44167.29               5.04              15
         7.994004379 "player.c:2629"         -1.14            0.0            0.0         0        0          0             0            7359           236           249      44100.00       44118.53         44165.38         44166.08               5.04              15
         8.015462128 "player.c:2629"         -1.10            0.0            0.0         0        0          0             0            7347           233           248      44100.00       44119.84         44164.17         44164.88               5.04              15
         8.008265796 "player.c:2629"         -1.05            0.0            0.0         0        0          0             0            7340           235           249      44100.00       44093.11         44163.04         44163.75               5.04              15
         7.995455629 "player.c:2629"         -1.04            0.0            0.0         0        0          0             0            7354           236           249      44100.00       44116.96         44161.87         44162.58               4.80              16
         8.018322545 "player.c:2629"         -1.04            0.0            0.0         0        0          0             0            7353           229           249      44100.00       44117.17         44160.85         44161.56               4.61              17
         7.989086587 "player.c:2629"         -1.03            0.0            0.0         0        0          0             0            7356           236           249      44100.00       44114.41         44159.82         44160.53               4.61              17
         8.021557546 "player.c:2629"         -1.01            0.0            0.0         0        0          0             0            7350           236           249      44100.00       44114.02         44158.84         44159.55               4.61              17
         1.413238542 "audio_alsa.c:1751" alsa: recovering from a previous underrun.
         0.038082583 "player.c:2884" Large negative (i.e. early) sync error of -7511 frames (-0.170317 seconds), at frame: 344500246.
         6.555362587 "player.c:2629"         -3.26          781.7          781.7         0        0          0             0               0           236           248      44100.07       42880.66         44172.44         44173.15               4.61              17
         7.989882129 "player.c:2629"         -1.70            2.8            2.8         0        0          0             0            7330           236           249      44100.01       43865.08         44171.27         44171.98               4.59              16
         8.024105795 "player.c:2629"         -1.64            0.0            0.0         0        0          0             0            7332           236           248      44099.99       44115.38         44170.09         44170.80               4.59              16
         7.988913837 "player.c:2629"         -1.64            0.0            0.0         0        0          0             0            7342           235           248      44099.99       44112.80         44169.05         44169.76               4.59              16

Configuration Information.

>> Display Config Start.

From "uname -a":
 Linux radiopi 5.15.93-sunxi #23.02.2 SMP Fri Feb 17 23:49:46 UTC 2023 armv7l GNU/Linux

From /etc/os-release:
 Debian GNU/Linux 11 (bullseye)

From /sys/firmware/devicetree/base/model:
 Xunlong Orange Pi Zero

Shairport Sync Version String:
 4.2-1-g12ad72c4-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc

Command Line:
 shairport-sync --displayConfig

Configuration File:
 /etc/shairport-sync.conf

Configuration File Settings:
 general :
 {
   name = "Bose Radio (AUX)";
   interpolation = "basic";
   ignore_volume_control = "yes";
 };
 alsa :
 {
   output_device = "hw:0";
   mixer_control_name = "Line Out";
   buffer_size = 19845;
 };

>> Display Config End.
>> Goodbye!

How did you install Shairport Sync?

Built from source

Check previous issues

mikebrady commented 1 year ago

Thanks for the report. Yes, it doesn't look as if the network is a problem, as there seem to be plenty of buffers (each holding 352 frames, about 8 milliseconds of audio). However, the DAC queue does empty, and I don't understand why that should be -- let me have a little think about it.

By any chance, could you temporarily use a USB DAC for output to see if there is also a problem with it?

[Update] Let me suggest that, rather than changing the buffer size, you change the audio_backend_buffer_desired_length_in_seconds to something like a full second: 1.0. This will give the system longer to recover before the DAC buffer empties. The downside is that software volume control takes longer to work.

Worth a try, for sure.

mc510 commented 1 year ago

Unfortunately I don't have a USB DAC. I did change audio_backend_buffer_desired_length_in_seconds to 1.0 seconds but am still getting the same result.

(Odd thing, and probably useless for troubleshooting, but it seems like at the beginning of an airplay session, these errors are not detectable to my ear but after maybe 20 minutes they've become a very distinct audio dropout.)

Going to be offline for much of the week ahead, but when I'm back I will try upgrading to Armbian/Debian Bookworm. Perhaps its newer kernel and firmware will improve things.

mikebrady commented 1 year ago

Thanks. Also -- is there any other activity on the device that might periodically result in a burst of I/O?

mc510 commented 1 year ago

Well crap, turns out that the latest Armbian (Debian bookworm) release isn't usable on my device.

There's nothing else at all happening on the device; it's dedicated to streaming audio.

However, I just remembered that my USB microphone preamp also has audio output. Hooked it up to the OPi and have been streaming to shairport-sync for ten minutes without any error messages at all. Still hoping that sunxi-codec will get working, but it's good to know that USB audio will work correctly.

mc510 commented 1 year ago

Good news: able to get latest Armbian (Debian bookworm) running on my device. Bad news: same issue persists.

mikebrady commented 1 year ago

Thanks for the update. I see that you've already set the interpolation setting to "basic" which is a good troubleshooting idea.

Do you have any firewalls going anywhere?

mc510 commented 1 year ago

No firewall on the OrangePi. There's a some sort of firewall on the Netgear router, but I wouldn't expect it to be doing anything with the LAN traffic. Who knows with Netgear though. When I get back from vacation I can try swapping in an OpenWRT router, and I'm happy to test out anything that you're curious about ... but given that it works fine with a USB audio device, it seems likely to me that what I'm experiencing is a quirk of the Allwinner SOC/audio codec/firmware/driver.

BTW I tried building with Airplay 2, got the same result.

mikebrady commented 1 year ago

Thanks. TBH, I'm inclined to agree with your conclusion...

mc510 commented 1 year ago

There's actually a couple other error messages that sometimes appear along with (immediately before) the "underrun" messages. No consistency though, sometimes one, sometimes the other, sometimes (as in the example in my original post) neither:

6.465283253 "audio_alsa.c:1769" alsa: SND_PCMSTATE* 3, error -32 ("Broken pipe") writing 352 samples to alsa device. 3.098797002 "player.c:2689" Delay error -32 when checking running latency.

statistics.txt.txt

Do these messages shine any light on what's causing the underrun? I'm mostly resigned to abandoning the built-in audio and buying a USB DAC, but thought I'd share these error messages in the interest of completeness.

mc510 commented 1 year ago

Solved! I had ignored this asound.conf suggestion from the troubleshooting page, because I'm using onboard audio not a USB audio device. But I went ahead and tried the suggested fix anyways, and two hours of happy listening later I have experienced no dropouts and no error messages. I have no idea what this is doing, but it's working. I just had to change "1" in the example to "0" for my case.

pcm.!default {
    type plug
    slave.pcm {
        type dmix
        ipc_key 1024
        slave {
            pcm "hw:0"
            period_time 0
            period_size 1920
            buffer_size 19200
            }
      }
}
ctl.!default {
    type hw
    card 0
}
mc510 commented 1 year ago

Well, turns out that I still get a bit of the drop-out thing, so I haven't totally solved it. Quite a bit less though. Except when I was experimenting with streaming from YouTube to shairport-sync ... I was surprised that worked at all, but it was happy to stream only the audio; however, there were a lot of drop outs. I wish I understood what the asound.conf edits actually do, so that I could tinker around and hope to find further improvement ... but I have read that nobody understands alsa and that the only thing that you can do is to try everything and stop when you find something that works! I'm sure that's not exactly true, but it does seem that it might be approximately true 😂.