mikebrady / shairport-sync

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

Silence output with S24/S32 format [Resolved?] #758

Closed YIN-Renlong closed 3 years ago

YIN-Renlong commented 5 years ago

Hi Mike,

When I try set the output format as either of 4-S24, 5-S24_3LE, 6-S24_3BE, 7-S32, nor any of the predefined output rates, would result in a silence out (at least I am not able to hear any voice from speaker when progress bar of iTunes still goes forward). My DAC is Audiophonics ES9028Q2M and I am sure it supports 32bit/768kHz output. Would you please take a look at this issue? Thank you

root@DietPi:~# shairport-sync -v
alsa output rate is 352800 frames per second
alsa output device name is "default".
Version: "3.3d16-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc"
statistics_requester status is 0.
daemon status is 0.
deamon pid file path is "/var/run/shairport-sync/shairport-sync.pid".
rtsp listening port is 5000.
udp base port is 6001.
udp port range is 100.
player name is "DietPi".
backend is "(null)".
on-start action is "(null)".
on-stop action is "(null)".
wait-cmd status is 0.
//      allow_session_interruption = "no"; // set to "yes" to allow another device to interrupt Shairport Sync while ion-start returns output is 0.
mdns backend "(null)".
//      allow_session_interruption = "no"; // set to "yes" to allow another device to interrupt Shairport Sync while istuffing option is "1" (0-basic, 1-soxr).
resync time is 0.050000 seconds.
allow a session to be interrupted: 0.
busy timeout time is 120.
drift tolerance is 0.001995 seconds.
password is "(null)".
ignore_volume_control is 0.
volume_max_db is not set
playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
disable_synchronization is 0.
use_mmap_if_available is 1.
output_rate is 352800.
output_format is 5 (0-unknown, 1-S8, 2-U8, 3-S16, 4-S24, 5-S24_3LE, 6-S24_3BE, 7-S32).
audio backend desired buffer length is 0.150000 seconds.
audio backend latency offset is -1.550000 seconds.
audio backend silence lead-in time is -1.000000 seconds. A value -1.0 means use the default.
volume range in dB (zero means use the range specified by the mixer): 0.
zeroconf regtype is "_raop._tcp".
decoders_supported field is 1.
use_apple_decoder is 0.
alsa_use_hardware_mute is 0.
no special mdns service interface was requested.
configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
metadata enabled is 0.
metadata pipename is "(null)".
metadata socket address is "(null)" port 0.
metadata socket packet size is "500".
get-coverart is 0.
loudness is 0.
loudness reference level is -20.000000
disable resend requests is off.
diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
Unable to listen on IPv4 port 5000. The error is: "Address already in use".
Unable to listen on IPv6 port 5000. The error is: "Address already in use".
fatal error: Could not establish a service on port 5000 -- program terminating. Is another instance of Shairport Sync running on this device?
exit function called...
mikebrady commented 5 years ago

At the bottom of the log listing it asks if another instance of Shairport Sync is running. That could be the problem. Remember that when you fully install it, it will automatically start upon boot up and run as a daemon. You can stop it with $ sudo systemctl stop shairport-sync.

YIN-Renlong commented 5 years ago

At the bottom of the log listing it asks if another instance of Shairport Sync is running. That could be the problem. Remember that when you fully install it, it will automatically start upon boot up and run as a daemon. You can stop it with $ sudo systemctl stop shairport-sync.

Hi Mike, my apologize for the late reply.

Actually, I would like to let you know that, when Shairport Sync works well, the log outputs the same 'conflict' of running parallel instances. I have also tried the command line you provided, unfortunately the silent output issue still remains. In this case, I guess the parallel instances would not be the cause. How could I do to find the issue out? Thank you.

I also show you the log when Shairport Sync works well in my instance:

root@DietPi:~# shairport-sync -v
alsa output device name is "default".
Version: "3.3d16-OpenSSL-Avahi-ALSA-soxr-metadata-sysconfdir:/etc"
statistics_requester status is 0.
daemon status is 0.
deamon pid file path is "/var/run/shairport-sync/shairport-sync.pid".
rtsp listening port is 5000.
udp base port is 6001.
udp port range is 100.
player name is "DietPi".
backend is "(null)".
on-start action is "(null)".
on-stop action is "(null)".
wait-cmd status is 0.
on-start returns output is 0.
mdns backend "(null)".
stuffing option is "1" (0-basic, 1-soxr).
resync time is 0.050000 seconds.
allow a session to be interrupted: 0.
busy timeout time is 120.
drift tolerance is 0.001995 seconds.
password is "(null)".
ignore_volume_control is 0.
volume_max_db is not set
playback_mode is 0 (0-stereo, 1-mono, 1-reverse_stereo, 2-both_left, 3-both_right).
disable_synchronization is 0.
use_mmap_if_available is 1.
output_rate is 44100.
output_format is 3 (0-unknown, 1-S8, 2-U8, 3-S16, 4-S24, 5-S24_3LE, 6-S24_3BE, 7-S32).
audio backend desired buffer length is 0.150000 seconds.
audio backend latency offset is -1.550000 seconds.
audio backend silence lead-in time is -1.000000 seconds. A value -1.0 means use the default.
volume range in dB (zero means use the range specified by the mixer): 0.
zeroconf regtype is "_raop._tcp".
decoders_supported field is 1.
use_apple_decoder is 0.
alsa_use_hardware_mute is 0.
no special mdns service interface was requested.
configuration file name "/etc/shairport-sync.conf" resolves to "/etc/shairport-sync.conf".
metadata enabled is 0.
metadata pipename is "(null)".
metadata socket address is "(null)" port 0.
metadata socket packet size is "500".
get-coverart is 0.
loudness is 0.
loudness reference level is -20.000000
disable resend requests is off.
diagnostic_drop_packet_fraction is 0.000000. A value of 0.0 means no packets will be dropped deliberately.
Unable to listen on IPv4 port 5000. The error is: "Address already in use".
Unable to listen on IPv6 port 5000. The error is: "Address already in use".
fatal error: Could not establish a service on port 5000 -- program terminating. Is another instance of Shairport Sync running on this device?
exit function called...
mikebrady commented 5 years ago

Thanks for the response. Unfortunately, I can't really understand the situation.

The log you show above clearly indicates that an instance of Shairport Sync launched and then quit because another instance was already using port 5000. It is possible to have multiple instances of Shairport Sync running, but on separate ports.

In any case, if you are trying to debug a problem, it is a good idea to make the testing conditions as simple as possible. For that reason, I suggest you do your testing with only one instance of Shairport Sync running. When you establish that it can drive your DAC, then you can add multiple instances.

github-actions[bot] commented 3 years ago

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