sle118 / squeezelite-esp32

ESP32 Music streaming based on Squeezelite, with support for multi-room sync, AirPlay, Bluetooth, Hardware buttons, display and more
1.27k stars 115 forks source link

SPDIF compatibility issue #333

Closed mietse closed 1 year ago

mietse commented 1 year ago

My ESP-Wrover-e board works with SPDIF on my Samsung soundbar.

Firmware 2.1539 and lower works fine, no problems.

Firmware 2.1597 and higher, SPDIF led goes on , soundbar switched on, but no sound.

When is flashed it back to 2.1539, the sound is comes back immediately.

What did i do wrong, or what goes wrong??

Thanks, Mietse

Hardware Details

NVS Settings

"a2dp_ctmt": "1000", "a2dp_ctrld": "500", "a2dp_dev_name": "Squeezelite-ESP32", "a2dp_sink_name": "SMSL BT4.2", "a2dp_spin": "0000", "actrls_config": "", "airplay_name": "Squeezelite-ESP32", "airplay_port": "5000", "ap_channel": "1", "ap_ip_address": "192.168.4.1", "ap_ip_gateway": "192.168.4.1", "ap_ip_netmask": "255.255.255.0", "ap_pwd": "squeezelite", "ap_ssid": "Squeezelite-ESP32", "autoexec": "1", "autoexec1": "squeezelite -o spdif -b 500:2000 -C 30 -d all=info ", "bat_config": "", "board_model": "", "bt_name": "Squeezelite-ESP32", "bt_sink_pin": "1234", "bt_sink_volume": "127", "bypass_wm": "0", "cspot_config": "{\"deviceName\":\"Squeezelite-ESP32\",\"bitrate\":160,\"zeroConf\":1,\"volume\":44032}", "dac_config": "", "dac_controlset": "", "dhcp_tmout": "8", "display_config": "", "enable_airplay": "Y", "enable_bt_sink": "Y", "enable_cspot": "Y", "equalizer": "0,0,0,0,0,0,0,0,0,0", "eth_config": "", "ethtmout": "8", "gpio_exp_config": "", "host_name": "Squeezelite-ESP32", "i2c_config": "", "jack_mutes_amp": "n", "led_brightness": "", "led_vu_config": "", "lms_ctrls_raw": "n", "loudness": "0", "metadata_config": "", "model_config": "", "ota_erase_blk": "249856", "ota_prio": "6", "ota_stack": "10240", "pollmin": "15", "pollmx": "600", "rel_api": "https://api.github.com/repos/sle118/squeezelite-esp32/releases", "release_url": "https://github.com/sle118/squeezelite-esp32/releases", "rotary_config": "", "set_GPIO": "", "sleep_config": "", "spdif_config": "bck=33,ws=25,do=23", "spi_config": "", "stats": "N", "target": "", "telnet_block": "500", "telnet_buffer": "40000", "telnet_enable": "N"

wizmo2 commented 1 year ago

I noticed some issues with sample rates.

I have a 24bit 96k flac. Had to set the the reported rate to -Z 56000 to get it to play. The docs say its a 96k limit on the 32bit version, but I think the new 20bit system may reduce that.

sle118 commented 1 year ago

@mietse adding logs helps kick start the analysis. @wizmo2 thanks for the input

philippe44 commented 1 year ago

is this the 16 or 32 bits version?

philippe44 commented 1 year ago

I tried both 16 and 32 on SqueezeAMP and they both work, so we are probably missing something here

sle118 commented 1 year ago

logs would be a good start. Thus the incomplete status for this issue

sle118 commented 1 year ago

@mietse could you try the latest release?

mietse commented 1 year ago

is this the 16 or 32 bits version?

Test Only the 16 bits versions.

mietse commented 1 year ago

Sorry forgot the logs. working setup: LOG=v1.0-1539-16.txt

Not working setup: LOG=v1.0-1619-16.txt

mietse commented 1 year ago

@mietse could you try the latest release?

Tested, and no luck... no sound. )-:

philippe44 commented 1 year ago

So I guess the change is this PR https://github.com/sle118/squeezelite-esp32/pull/307 which works 100% for me on tested cases and for the author as well but it might be an issue with your soundbar not being happy with the change to the format. @UrbanLienert, can you chime-in?

sle118 commented 1 year ago

Ah this might be a good explanation. Because it does work for me as well.

mietse commented 1 year ago

So I guess the change is this PR #307 which works 100% for me on tested cases and for the author as well but it might be an issue with your soundbar not being happy with the change to the format. @UrbanLienert, can you chime-in?

Thanks for the info, i think that the changes in the spdif code not oke is for the soundbar.. It's the samsung soundbar q930b.

emlynmac commented 1 year ago

I think I just ran into this with my old Onkyo receiver. Had it hooked up by SPDIF and after update, no sound. Works fine on my Yamaha pc speakers…

UrbanLienert commented 1 year ago

There seems to be a bug somewhere in the code. The new SPDIF version should be as compatible as the old version. Did you check the 16 and 32 bit version? Do you connect SPDIF via optical or coaxial cable?

philippe44 commented 1 year ago

Oh I think I see the problem - I need to learn how to count properly 😃. I'll fix that tomorrow

emlynmac commented 1 year ago

There seems to be a bug somewhere in the code. The new SPDIF version should be as compatible as the old version. Did you check the 16 and 32 bit version? Do you connect SPDIF via optical or coaxial cable?

Optical. Only 16 bit checked. I have squeezeamps

philippe44 commented 1 year ago

Can you try the artifacts of the version that is being build as I write that (I won't publish before I'm sure). https://github.com/sle118/squeezelite-esp32/actions/runs/6632316221

emlynmac commented 1 year ago

1625 did not work for me; 16 bit version.

philippe44 commented 1 year ago

oh well, I might work better if I fix the 16 bits version as well. Let's see 1626

emlynmac commented 1 year ago

Thanks @philippe44, confirmed working again

philippe44 commented 1 year ago

BTW, it was my fault, not @UrbanLienert PR