mikebrady / shairport-sync

AirPlay and AirPlay 2 audio player
Other
7.16k stars 569 forks source link

在iOS17上没有响应 #1731

Closed hassbian-ABC closed 8 months ago

hassbian-ABC commented 12 months ago

What happened?

I have updated version 4.3.1 and it shows no response on iOS17

Relevant log output

No response

System Information.

Debian10

Configuration Information.

>> Display Config Start.

From "uname -a":
 Linux pve 5.15.116-1-pve #1 SMP PVE 5.15.116-1 (2023-08-29T13:46Z) x86_64 GNU/Linux

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

Shairport Sync Version String:
 4.3.1-AirPlay2-smi10-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc

Command Line:
 shairport-sync --displayConfig

Configuration File:
 /etc/shairport-sync.conf

Configuration File Settings:
 general : 
 {
   name = "Airplay2";
 };

>> Display Config End.
>> Goodbye!

PulseAudio or PipeWire installed?

How did you install Shairport Sync?

Built from source

Check previous issues

mikebrady commented 12 months ago

Thanks for the report. Could you run:

$ shairport-sync -v

and post the results here please?

(Please notice that it's a small v, not a capital V.)

hassbian-ABC commented 12 months ago
root@pve:~#  shairport-sync -v
         0.000479669 "shairport.c:2252" Startup in AirPlay 2 mode, with features 0x405c4a00,0x1c340 on device "60:be:b4:09:e0:f2".
         0.000022831 "shairport.c:2291" Version String: "4.3.1-AirPlay2-smi10-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc"
         0.000004345 "shairport.c:2310" Command Line: "shairport-sync -v".
         0.000040646 "shairport.c:2346" Log Verbosity is 1.
         0.000005368 "audio_alsa.c:1021" alsa: alsa_maximum_stall_time of 0.200000 sec.
         0.000005083 "audio_alsa.c:1310" alsa: disable_standby_mode is "never".
         0.000001942 "audio_alsa.c:1314" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.
         0.000002051 "audio_alsa.c:1316" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.
         0.000005143 "audio_alsa.c:1356" alsa: output device name is "default".
         0.000033798 "shairport.c:2394" disable_resend_requests is off.
         0.000002886 "shairport.c:2395" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
         0.000001963 "shairport.c:2399" statistics_requester status is 0.
         0.000002226 "shairport.c:2404" rtsp listening port is 7000.
         0.000001901 "shairport.c:2405" udp base port is 6001.
         0.000002450 "shairport.c:2406" udp port range is 10.
         0.000002475 "shairport.c:2407" player name is "Airplay2".
         0.000002114 "shairport.c:2408" backend is "alsa".
         0.000001915 "shairport.c:2409" run_this_before_play_begins action is "(null)".
         0.000002120 "shairport.c:2410" run_this_after_play_ends action is "(null)".
         0.000001850 "shairport.c:2411" wait-cmd status is 0.
         0.000001783 "shairport.c:2412" run_this_before_play_begins may return output is 0.
         0.000002293 "shairport.c:2413" run_this_if_an_unfixable_error_is_detected action is "(null)".
         0.000001843 "shairport.c:2415" run_this_before_entering_active_state action is  "(null)".
         0.000001768 "shairport.c:2417" run_this_after_exiting_active_state action is  "(null)".
         0.000001667 "shairport.c:2419" active_state_timeout is  10.000000 seconds.
         0.000002625 "shairport.c:2420" mdns backend "(null)".
         0.000002491 "shairport.c:2422" interpolation setting is "auto".
         0.000001838 "shairport.c:2426" interpolation soxr_delay_threshold is 30000000.
         0.000002234 "shairport.c:2427" resync time is 0.050000 seconds.
         0.000002262 "shairport.c:2428" resync recovery time is 0.100000 seconds.
         0.000001941 "shairport.c:2429" allow a session to be interrupted: 0.
         0.000001947 "shairport.c:2430" busy timeout time is 0.
         0.000001858 "shairport.c:2431" drift tolerance is 0.002000 seconds.
         0.000002199 "shairport.c:2432" password is "(null)".
         0.000001774 "shairport.c:2433" default airplay volume is: -24.000000.
         0.000002252 "shairport.c:2434" high threshold airplay volume is: -16.000000.
         0.000002378 "shairport.c:2436" check for higher-than-threshold volume for new play session is disabled.
         0.000001917 "shairport.c:2442" ignore_volume_control is 0.
         0.000001270 "shairport.c:2446" volume_max_db is not set
         0.000001901 "shairport.c:2447" volume range in dB (zero means use the range specified by the mixer): 0.
         0.000001390 "shairport.c:2449" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.
         0.000001933 "shairport.c:2453" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
         0.000001488 "shairport.c:2455" disable_synchronization is 0.
         0.000001734 "shairport.c:2456" use_mmap_if_available is 1.
         0.000001815 "shairport.c:2457" output_format automatic selection is enabled.
         0.000001972 "shairport.c:2461" output_rate automatic selection is enabled.
         0.000001812 "shairport.c:2465" audio backend desired buffer length is 0.200000 seconds.
         0.000002201 "shairport.c:2467" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.
         0.000002284 "shairport.c:2469" audio backend latency offset is 0.000000 seconds.
         0.000001978 "shairport.c:2471" audio backend silence lead-in time is "auto".
         0.000001890 "shairport.c:2475" zeroconf regtype is "_raop._tcp".
         0.000001872 "shairport.c:2476" decoders_supported field is 1.
         0.000001764 "shairport.c:2477" use_apple_decoder is 0.
         0.000001237 "shairport.c:2478" alsa_use_hardware_mute is 0.
         0.000001719 "shairport.c:2482" no special mdns service interface was requested.
         0.000004106 "shairport.c:2485" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
         0.000002177 "shairport.c:2515" loudness is 0.
         0.000001307 "shairport.c:2516" loudness reference level is -20.000000
         0.000058578 "shairport.c:2643" NQPTP is online.
         1.500203543 "shairport.c:255" "soxr" interpolation has been chosen.
mikebrady commented 12 months ago

Super, thanks. That looks alright. Could you now try:

$ shairport-sync -v --statistics

and try to play a track for maybe two minutes and post the log, please? You should get extra lines, something like these:

....
         0.498410469 "shairport.c:255" "soxr" interpolation has been chosen.
         0.509718073 "rtsp.c:2867" Connection 5: AP2 PTP connection from fd60:823e:c8d5:4746:434:148d:7f01:b136:49268 ("Mike Brady's iPhone") to self at fd60:823e:c8d5:4746:dcf:f7cc:d71:6f7c:7000.
        11.931701714 "player.c:2841" Connection 5: Playback started at frame 3263544060 -- AirPlay 2 Buffered.
         7.923644476 "player.c:2660" Sync Error ms | Net Sync PPM | All Sync PPM | Min DAC Queue | Min Buffers | Min Buffer Size | Output FPS (r) | Output FPS (c)
         0.000885729 "player.c:2660"          0.77          -37.2           37.2            7416            46              237k              N/A              N/A
         8.016091091 "player.c:2660"          1.00         -155.8          155.8            7445            46             3630k         44099.78         44099.94
         7.995498695 "player.c:2660"          0.87           -8.5            8.5            7445            46             3527k         44100.04         44100.20
         8.009781768 "player.c:2660"          0.88          -14.2           14.2            7452            46             3507k         44100.05         44100.21
         8.002512861 "player.c:2660"          1.02         -130.3          130.3            7458            45             3487k         44100.06         44100.22
         7.999747133 "player.c:2660"          0.86          -17.0           17.0            7452            46             3494k         44100.03         44100.19
hassbian-ABC commented 12 months ago
 shairport-sync -v --statistics
         0.000455724 "shairport.c:2252" Startup in AirPlay 2 mode, with features 0x405c4a00,0x1c340 on device "60:be:b4:09:e0:f2".
         0.000020840 "shairport.c:2291" Version String: "4.3.1-AirPlay2-smi10-OpenSSL-Avahi-ALSA-soxr-sysconfdir:/etc"
         0.000003297 "shairport.c:2310" Command Line: "shairport-sync -v --statistics".
         0.000033778 "shairport.c:2346" Log Verbosity is 1.
         0.000004827 "audio_alsa.c:1021" alsa: alsa_maximum_stall_time of 0.200000 sec.
         0.000007696 "audio_alsa.c:1310" alsa: disable_standby_mode is "never".
         0.000002781 "audio_alsa.c:1314" alsa: disable_standby_mode_silence_threshold is 0.040000 seconds.
         0.000002566 "audio_alsa.c:1316" alsa: disable_standby_mode_silence_scan_interval is 0.004000 seconds.
         0.000006135 "audio_alsa.c:1356" alsa: output device name is "default".
         0.000041819 "shairport.c:2394" disable_resend_requests is off.
         0.000003551 "shairport.c:2395" diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
         0.000003331 "shairport.c:2399" statistics_requester status is 1.
         0.000002535 "shairport.c:2404" rtsp listening port is 7000.
         0.000002456 "shairport.c:2405" udp base port is 6001.
         0.000002600 "shairport.c:2406" udp port range is 10.
         0.000002669 "shairport.c:2407" player name is "Airplay2".
         0.000002454 "shairport.c:2408" backend is "alsa".
         0.000002490 "shairport.c:2409" run_this_before_play_begins action is "(null)".
         0.000002637 "shairport.c:2410" run_this_after_play_ends action is "(null)".
         0.000002566 "shairport.c:2411" wait-cmd status is 0.
         0.000002463 "shairport.c:2412" run_this_before_play_begins may return output is 0.
         0.000002585 "shairport.c:2413" run_this_if_an_unfixable_error_is_detected action is "(null)".
         0.000002508 "shairport.c:2415" run_this_before_entering_active_state action is  "(null)".
         0.000002637 "shairport.c:2417" run_this_after_exiting_active_state action is  "(null)".
         0.000002448 "shairport.c:2419" active_state_timeout is  10.000000 seconds.
         0.000003399 "shairport.c:2420" mdns backend "(null)".
         0.000002268 "shairport.c:2422" interpolation setting is "auto".
         0.000002150 "shairport.c:2426" interpolation soxr_delay_threshold is 30000000.
         0.000002148 "shairport.c:2427" resync time is 0.050000 seconds.
         0.000002955 "shairport.c:2428" resync recovery time is 0.100000 seconds.
         0.000002813 "shairport.c:2429" allow a session to be interrupted: 0.
         0.000002593 "shairport.c:2430" busy timeout time is 0.
         0.000002471 "shairport.c:2431" drift tolerance is 0.002000 seconds.
         0.000002836 "shairport.c:2432" password is "(null)".
         0.000002442 "shairport.c:2433" default airplay volume is: -24.000000.
         0.000003177 "shairport.c:2434" high threshold airplay volume is: -16.000000.
         0.000002896 "shairport.c:2436" check for higher-than-threshold volume for new play session is disabled.
         0.000002486 "shairport.c:2442" ignore_volume_control is 0.
         0.000002547 "shairport.c:2446" volume_max_db is not set
         0.000002441 "shairport.c:2447" volume range in dB (zero means use the range specified by the mixer): 0.
         0.000002724 "shairport.c:2449" volume_range_combined_hardware_priority (1 means hardware mixer attenuation is used first) is 0.
         0.000002775 "shairport.c:2453" playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
         0.000002712 "shairport.c:2455" disable_synchronization is 0.
         0.000002216 "shairport.c:2456" use_mmap_if_available is 1.
         0.000002356 "shairport.c:2457" output_format automatic selection is enabled.
         0.000002663 "shairport.c:2461" output_rate automatic selection is enabled.
         0.000002577 "shairport.c:2465" audio backend desired buffer length is 0.200000 seconds.
         0.000002869 "shairport.c:2467" audio_backend_buffer_interpolation_threshold_in_seconds is 0.120000 seconds.
         0.000002790 "shairport.c:2469" audio backend latency offset is 0.000000 seconds.
         0.000002951 "shairport.c:2471" audio backend silence lead-in time is "auto".
         0.000002621 "shairport.c:2475" zeroconf regtype is "_raop._tcp".
         0.000002670 "shairport.c:2476" decoders_supported field is 1.
         0.000002543 "shairport.c:2477" use_apple_decoder is 0.
         0.000002383 "shairport.c:2478" alsa_use_hardware_mute is 0.
         0.000002421 "shairport.c:2482" no special mdns service interface was requested.
         0.000005336 "shairport.c:2485" configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
         0.000003377 "shairport.c:2515" loudness is 0.
         0.000003432 "shairport.c:2516" loudness reference level is -20.000000
         0.000081828 "shairport.c:2643" NQPTP is online.
         1.500354616 "shairport.c:255" "soxr" interpolation has been chosen.
hassbian-ABC commented 12 months ago

JB82C1Q %`E7_4GU7H61{NA

mikebrady commented 12 months ago

Thanks again. This is a mystery -- there is no sign of a connection being made to Shairport Sync at all. So, could you kindly increase the verbosity of the debugging:

$ shairport-sync -vv --statistics

and try again, please? We might see the attempt to connect being made.

hassbian-ABC commented 12 months ago

d2308e834758cb78838c3aa19dc4e49f meaning no response

mikebrady commented 12 months ago

Can you say what system you are playing from please?

hassbian-ABC commented 12 months ago

iphone13 ios17

mikebrady commented 12 months ago

What is the name of the player?

hassbian-ABC commented 12 months ago

Always' no response', even if you haven't played

mikebrady commented 12 months ago

What app are you using to play the track? I don't recognise it from the screenshot.

hassbian-ABC commented 12 months ago

DS player , I tried to play using Apple TV connection and got the same result

mikebrady commented 12 months ago

Thanks again. Is there any possibility of using Apple's own Music app to see what is does?

[Update] Or Spotify...

hassbian-ABC commented 12 months ago

Even if I don't play any music and restart the service, it's still 'no response'

hassbian-ABC commented 12 months ago

Normal on iOS16

mikebrady commented 12 months ago

Thanks. I'm running it with iOS 17 devices without problems.

         0.050848125 "player.c:2832" Connection 5: Playback started at frame 3710591189 -- AirPlay 2 Realtime.
         7.920012809 "player.c:2660" Sync Error ms | Net Sync PPM | All Sync PPM | Missing |   Late | Too Late | Resend Reqs | Min DAC Queue | Min Buffers | Max Buffers | Received FPS | Output FPS (r) | Output FPS (c)
         0.000299688 "player.c:2660"          0.05            0.0            0.0         0        0          0             0            7365           220           230       44046.60              N/A              N/A
         8.011439476 "player.c:2660"          0.30            2.8            2.8         0        0          0             0            7429           223           232       44133.58         44100.18         44100.30
         8.008612705 "player.c:2660"          0.30            0.0            0.0         0        0          0             0            7398           225           232       44093.53         44100.08         44100.20
         8.020460049 "player.c:2660"          0.54            0.0            0.0         0        0          0             0            7398           221           232       44112.43         44099.98         44100.10
         7.979429320 "player.c:2660"          0.80            0.0            0.0         0        0          0             0            7390           224           232       44111.32         44100.08         44100.20

Do you have any firewalls or VPNs running on your systems or network?

hassbian-ABC commented 12 months ago

No, in the same network environment, everything is fine with iOS16

mikebrady commented 12 months ago

Thanks. Let's see if we get more reports like this -- I'm afraid I don't have any more ideas to try out.

hassbian-ABC commented 12 months ago

Connection and playback are normal, except for no response in home app

hassbian-ABC commented 12 months ago

IMG_0284 Even if there's no music playing

mikebrady commented 12 months ago

Ok, now I'm beginning to understand your problem! Those screenshots are of the Home app, and not the iPhone or DS Player, etc., right?

Let me respond a little more later on...

hassbian-ABC commented 12 months ago

Yes,Except for the 'no response' in Home app, everything else is normal

mikebrady commented 12 months ago

Okay, that's also happening to me too, and I guess it's an iOS 17 thing. Unfortunately we don't have a good idea of the supervisory information and metadata information protocols that control this, so it may not be something we can fix. image

"Non risponde" is Italian for "no response".

hgaogao commented 11 months ago

Have you found a solution again? Me too 1811697778611_ pic_hd

And I also found that the iPhone will have this prompt during the process of switching from iPhone to iPad.

1821697778678_ pic_hd

Configuration Information.

Display Config Start.

From "uname -a": Linux snapcast 5.15.83-1-pve #1 SMP PVE 5.15.83-1 (2022-12-15T00:00Z) x86_64 GNU/Linux

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

Shairport Sync Version String: 4.3.2-1-g90c03bf0-AirPlay2-smi10-OpenSSL-Avahi-ALSA-stdout-soxr-metadata-sysconfdir:/etc

Command Line: shairport-sync --displayConfig

Configuration File: /etc/shairport-sync.conf

The Configuration file contains no active settings.

Display Config End. Goodbye!

This is my build parameter.

./configure --sysconfdir=/etc --with-alsa \ --with-soxr --with-avahi --with-ssl=openssl \ --with-systemd --with-airplay-2 --with-stdout --with-metadata

mikebrady commented 10 months ago

Unfortunately not. It is a bit frustrating, but as mentioned above, we don't have a good idea of the supervisory information and metadata information protocols that control this, so it may not be something we can fix.

The message "Unable to play..." seem to be transient; when you try to connect again, the connection usually works.

hgaogao commented 10 months ago

Yes, it will work fine when you connect again

github-actions[bot] commented 8 months ago

This issue has been inactive for 28 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.