Closed tom8347 closed 1 year ago
Thanks for the report, and for the exemplary diagnostic information.
This looks like (another!) problem with the AirPlay module in the PipeWire system of your Linux machine -- those duplicate RECORD
messages shouldn't be happening. They are ignored by Shairport Sync but who knows what is coming after them. I suggest bringing this to the attention of the developers of the PipeWire AirPlay module.
Okay, I'll figure out where they live and do that. I'll close this issue for now. Thanks for the quick reply!
Thanks. Let me suggest that you check the correspondents on that other problem -- I think one of them might be connected.
Might be unrelated but I had a similar issue a few months ago and tracked it down to not having all the required open ports between VLANs, where shairport-sync was running on a device (RPi) on one VLAN but the music player was on a different VLAN. Is it possible your phone, desktop, and shairport-sync may be on different VLANs with a firewall between them?
See https://github.com/mikebrady/shairport-sync/issues/1664.
-Mike
On Nov 8, 2023, at 7:08 AM, tom8347 @.***> wrote:
What happened?
I connect to the Airplay device through my linux computer running pipewire with the module that allows airplay connections. I play something and everything seems to be working. If I pause the stream (eg teh spotify app on my computer or whatever) for more than about a second and then try to resume, my desktop tells me that the music is play, but there's no sound. If instead, I initally connect then pause the stream for only a very short time, it resumes with no problems.
It's worth noting that this does not happen if I use pulseaudio instead of pipewire on my desktop computer. Also, as far as I can tell it's not a problem with my iphone.
Since this problem is only seen with the desktop, I'm not totally sure it's actually a problem with shairport, but I wasn't sure where else to look.
Relevant log output
this is the output from shairport-sync -v if I pause/unpause the stream quickly (resumes with no problems). You can see the bottom few lines (RECORD: Duplicate RECORD ....) correspond to me pausing/unpausing the stream
0.001346302 "shairport.c:2255" Startup in classic Airplay (aka "AirPlay 1") mode. 0.000162708 "shairport.c:2291" Version String: "4.3.2-1-g90c03bf0-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc" 0.000116146 "shairport.c:2310" Command Line: "shairport-sync -v". 0.000067031 "shairport.c:2346" Log Verbosity is 1. 0.000241511 "audio_alsa.c:1021" alsa: alsa_maximum_stall_time of 0.200000 sec. 0.000446406 "audio_alsa.c:1310" alsa: disable_standby_mode is "never". 0.000083437 "audio_alsa.c:1314" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds. 0.000169271 "audio_alsa.c:1316" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds. 0.000261511 "audio_alsa.c:1356" alsa: output device name is "hw:Audio". 0.000574843 "shairport.c:2394" disable_resend_requests is off. 0.000088490 "shairport.c:2395" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately. 0.000082656 "shairport.c:2399" statistics_requester status is 0. 0.000104948 "shairport.c:2404" rtsp listening port is 5000. 0.000105365 "shairport.c:2405" udp base port is 6001. 0.000208125 "shairport.c:2406" udp port range is 10. 0.000285416 "shairport.c:2407" player name is "Living Room". 0.000068177 "shairport.c:2408" backend is "alsa". 0.000195886 "shairport.c:2409" run_this_before_play_begins action is "(null)". 0.000176719 "shairport.c:2410" run_this_after_play_ends action is "(null)". 0.000164375 "shairport.c:2411" wait-cmd status is 0. 0.000175052 "shairport.c:2412" run_this_before_play_begins may return output is 0. 0.000169739 "shairport.c:2413" run_this_if_an_unfixable_error_is_detected action is "(null)". 0.000267448 "shairport.c:2415" run_this_before_entering_active_state action is "(null)". 0.000218958 "shairport.c:2417" run_this_after_exiting_active_state action is "(null)". 0.000185053 "shairport.c:2419" active_state_timeout is 10.000000 seconds. 0.000207187 "shairport.c:2420" mdns backend "(null)". 0.000157135 "shairport.c:2422" interpolation setting is "basic". 0.000113959 "shairport.c:2426" interpolation soxr_delay_threshold is 30000000. 0.000183125 "shairport.c:2427" resync time is 0.050000 seconds. 0.000307291 "shairport.c:2428" resync recovery time is 0.100000 seconds. 0.000113230 "shairport.c:2429" allow a session to be interrupted: 0. 0.000167395 "shairport.c:2430" busy timeout time is 120. 0.000079063 "shairport.c:2431" drift tolerance is 0.002000 seconds. 0.000035625 "shairport.c:2432" password is "(null)". 0.000037812 "shairport.c:2433" default airplay volume is: -24.000000. 0.000054948 "shairport.c:2434" high threshold airplay volume is: -16.000000. 0.000043750 "shairport.c:2436" check for higher-than-threshold volume for new play session is disabled. 0.000031302 "shairport.c:2442" ignore_volume_control is 0. 0.000025990 "shairport.c:2446" volume_max_db is not set 0.000100104 "shairport.c:2447" volume range in dB (zero means use the range specified by the mixer): 0. 0.000056563 "shairport.c:2449" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0. 0.000189323 "shairport.c:2453" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right). 0.000037031 "shairport.c:2455" disable_synchronization is 0. 0.000096614 "shairport.c:2456" use_mmap_if_available is 1. 0.000056303 "shairport.c:2457" output_format automatic selection is enabled. 0.000038333 "shairport.c:2461" output_rate automatic selection is enabled. 0.000029792 "shairport.c:2465" audio backend desired buffer length is 0.200000 seconds. 0.000028906 "shairport.c:2467" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds. 0.000067500 "shairport.c:2469" audio backend latency offset is -0.150000 seconds. 0.000033073 "shairport.c:2471" audio backend silence lead-in time is "auto". 0.000025573 "shairport.c:2475" zeroconf regtype is "_raop._tcp". 0.000110260 "shairport.c:2476" decoders_supported field is 1. 0.000104479 "shairport.c:2477" use_apple_decoder is 0. 0.000054375 "shairport.c:2478" alsa_use_hardware_mute is 0. 0.000038386 "shairport.c:2482" no special mdns service interface was requested. 0.000093177 "shairport.c:2485" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf". 0.000133958 "shairport.c:2515" loudness is 0. 0.000049167 "shairport.c:2516" loudness reference level is -20.000000 162.759751552 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.098626198 "player.c:2906" Large negative (i.e. early) sync error of -5409 frames (-0.122653 seconds), at frame: 2263181513. 1.207306666 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.099520313 "player.c:2906" Large negative (i.e. early) sync error of -5388 frames (-0.122177 seconds), at frame: 2263229737. 0.890646510 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.103889323 "player.c:2906" Large negative (i.e. early) sync error of -5346 frames (-0.121224 seconds), at frame: 2263264233. 0.826237968 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.098095677 "player.c:2906" Large negative (i.e. early) sync error of -5347 frames (-0.121247 seconds), at frame: 2263296265. 0.800547865 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.104981614 "player.c:2906" Large negative (i.e. early) sync error of -5366 frames (-0.121678 seconds), at frame: 2263327241. 0.779783646 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.103229947 "player.c:2906" Large negative (i.e. early) sync error of -5361 frames (-0.121565 seconds), at frame: 2263356809.
this is the output if I pause/unpauses the stream with a longer time between pausing and unpausing. You can see the last few lines which correspond to the pausing/unpausing have changed (the lines with Large negative etc etc are now missing)
0.001308594 "shairport.c:2255" Startup in classic Airplay (aka "AirPlay 1") mode. 0.000325000 "shairport.c:2291" Version String: "4.3.2-1-g90c03bf0-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc" 0.000090833 "shairport.c:2310" Command Line: "shairport-sync -v". 0.000077605 "shairport.c:2346" Log Verbosity is 1. 0.000176302 "audio_alsa.c:1021" alsa: alsa_maximum_stall_time of 0.200000 sec. 0.000383073 "audio_alsa.c:1310" alsa: disable_standby_mode is "never". 0.000180104 "audio_alsa.c:1314" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds. 0.000097239 "audio_alsa.c:1316" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds. 0.000153021 "audio_alsa.c:1356" alsa: output device name is "hw:Audio". 0.000593438 "shairport.c:2394" disable_resend_requests is off. 0.000115833 "shairport.c:2395" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately. 0.000095052 "shairport.c:2399" statistics_requester status is 0. 0.000125000 "shairport.c:2404" rtsp listening port is 5000. 0.000121667 "shairport.c:2405" udp base port is 6001. 0.000314687 "shairport.c:2406" udp port range is 10. 0.000165209 "shairport.c:2407" player name is "Living Room". 0.000086979 "shairport.c:2408" backend is "alsa". 0.000156458 "shairport.c:2409" run_this_before_play_begins action is "(null)". 0.000056250 "shairport.c:2410" run_this_after_play_ends action is "(null)". 0.000048854 "shairport.c:2411" wait-cmd status is 0. 0.000027292 "shairport.c:2412" run_this_before_play_begins may return output is 0. 0.000109531 "shairport.c:2413" run_this_if_an_unfixable_error_is_detected action is "(null)". 0.000053802 "shairport.c:2415" run_this_before_entering_active_state action is "(null)". 0.000037813 "shairport.c:2417" run_this_after_exiting_active_state action is "(null)". 0.000027968 "shairport.c:2419" active_state_timeout is 10.000000 seconds. 0.000194688 "shairport.c:2420" mdns backend "(null)". 0.000201615 "shairport.c:2422" interpolation setting is "basic". 0.000110208 "shairport.c:2426" interpolation soxr_delay_threshold is 30000000. 0.000261823 "shairport.c:2427" resync time is 0.050000 seconds. 0.000175833 "shairport.c:2428" resync recovery time is 0.100000 seconds. 0.000200469 "shairport.c:2429" allow a session to be interrupted: 0. 0.000193229 "shairport.c:2430" busy timeout time is 120. 0.000108073 "shairport.c:2431" drift tolerance is 0.002000 seconds. 0.000262708 "shairport.c:2432" password is "(null)". 0.000150521 "shairport.c:2433" default airplay volume is: -24.000000. 0.000125625 "shairport.c:2434" high threshold airplay volume is: -16.000000. 0.000180521 "shairport.c:2436" check for higher-than-threshold volume for new play session is disabled. 0.000113073 "shairport.c:2442" ignore_volume_control is 0. 0.000181406 "shairport.c:2446" volume_max_db is not set 0.000180208 "shairport.c:2447" volume range in dB (zero means use the range specified by the mixer): 0. 0.000244063 "shairport.c:2449" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0. 0.000170521 "shairport.c:2453" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right). 0.000121666 "shairport.c:2455" disable_synchronization is 0. 0.000155365 "shairport.c:2456" use_mmap_if_available is 1. 0.000197813 "shairport.c:2457" output_format automatic selection is enabled. 0.000139062 "shairport.c:2461" output_rate automatic selection is enabled. 0.000116510 "shairport.c:2465" audio backend desired buffer length is 0.200000 seconds. 0.000234844 "shairport.c:2467" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds. 0.000190469 "shairport.c:2469" audio backend latency offset is -0.150000 seconds. 0.000190260 "shairport.c:2471" audio backend silence lead-in time is "auto". 0.000102500 "shairport.c:2475" zeroconf regtype is "_raop._tcp". 0.000177396 "shairport.c:2476" decoders_supported field is 1. 0.000182500 "shairport.c:2477" use_apple_decoder is 0. 0.000066771 "shairport.c:2478" alsa_use_hardware_mute is 0. 0.000154948 "shairport.c:2482" no special mdns service interface was requested. 0.000530521 "shairport.c:2485" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf". 0.000087708 "shairport.c:2515" loudness is 0. 0.000156042 "shairport.c:2516" loudness reference level is -20.000000 78.206558355 "rtsp.c:1626" *warning: Connection 1: RECORD: Duplicate RECORD message -- ignored 0.098794636 "player.c:2906" Large negative (i.e. early) sync error of -5309 frames (-0.120385 seconds), at frame: 2987365920. 11.218949787 "rtp.c:962" Time ping turnaround time: 1885117204646 ns -- it looks like a timing ping was lost. 13.820134318 "rtsp.c:1626" *warning: Connection 3: RECORD: Duplicate RECORD message -- ignored 1.949083697 "rtsp.c:1626" *warning: Connection 3: RECORD: Duplicate RECORD message -- ignored 1.260364895 "rtsp.c:1626" *warning: Connection 3: RECORD: Duplicate RECORD message -- ignored 1.724978541 "rtsp.c:1626" *warning: Connection 3: RECORD: Duplicate RECORD message -- ignored
System Information.
I'm running shairport, compiled without Airplay 2, on a raspberry pi 3 model B with an ethernet connection. It's outputting to an SMSL SA300 DAC.
My desktop is NixOS with pipewire.
Configuration Information.
Display Config Start.
From "uname -a": Linux raspberrypi 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux
From /etc/os-release: Raspbian GNU/Linux 11 (bullseye)
From /sys/firmware/devicetree/base/model: Raspberry Pi 3 Model B Rev 1.2
Shairport Sync Version String: 4.3.2-1-g90c03bf0-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc
Command Line: shairport-sync --displayConfig
Configuration File: /etc/shairport-sync.conf
Configuration File Settings: general : { name = "Living Room"; audio_backend_latency_offset_in_seconds = -0.15; interpolation = "basic"; }; alsa : { output_device = "hw:Audio"; mixer_control_name = "PCM"; };
Display Config End. Goodbye! PulseAudio or PipeWire installed?
Check if your system uses a Sound Server. How did you install Shairport Sync?
Built from source
Check previous issues
Confirm — Reply to this email directly, view it on GitHub https://github.com/mikebrady/shairport-sync/issues/1759, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALGJ35PZ24ZHBU3I2D36JTYDON5NAVCNFSM6AAAAAA7DBINKCVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DGOBSGIYTCNI. You are receiving this because you are subscribed to this thread.
Nope, they're on the same VLAN
What happened?
I connect to the Airplay device through my linux computer running pipewire with the module that allows airplay connections. I play something and everything seems to be working. If I pause the stream (eg teh spotify app on my computer or whatever) for more than about a second and then try to resume, my desktop tells me that the music is play, but there's no sound. If instead, I initally connect then pause the stream for only a very short time, it resumes with no problems.
It's worth noting that this does not happen if I use pulseaudio instead of pipewire on my desktop computer. Also, as far as I can tell it's not a problem with my iphone.
Since this problem is only seen with the desktop, I'm not totally sure it's actually a problem with shairport, but I wasn't sure where else to look.
Relevant log output
System Information.
I'm running shairport, compiled without Airplay 2, on a raspberry pi 3 model B with an ethernet connection. It's outputting to an SMSL SA300 DAC.
My desktop is NixOS with pipewire.
Configuration Information.
PulseAudio or PipeWire installed?
How did you install Shairport Sync?
Built from source
Check previous issues