Playing audio from tvheadend

I have an ESP dev kit which contains a ESP32-D0WDQ6 CPU which I am driving from HA. In the yaml file, I have set up the internal DACs to output audio:

i2s_audio:
  - i2s_lrclk_pin: GPIO13

media_player:
  - platform: i2s_audio
    dac_type: internal
    name: "dac_player"
    mode: stereo

Either in the yaml directly or from HA, I can play mp3 internet radio, eg from https://media-ssl.musicradio.com/GoldMP3. However what I also want to do is to play audio from my TVHeadend server on my network. I can play audio from TVH in vlc on a Pi and on a PC but the ESP refuses to do so. The log shows:

[12:11:45][D][media_player:061]: 'dac_player' - Setting
[12:11:45][D][media_player:071]:   Volume: 0.10
[12:11:45][D][media_player:061]: 'dac_player' - Setting
[12:11:45][D][media_player:068]:   Media URL: http://tvheadend.local:9981/stream/channelid/526472930
[12:11:45][W][component:237]: Component i2s_audio.media_player took a long time for an operation (263 ms).
[12:11:45][W][component:238]: Components should block for at most 30 ms.
[12:11:45][W][component:237]: Component i2s_audio.media_player took a long time for an operation (67 ms).
[12:11:45][W][component:238]: Components should block for at most 30 ms.

I have tried many different output stream profiles from TVH, with/without transcoding, but nothing seems to work with the ESP (almost everything does with vlc).

Has anyone got this working? Is there anything else I can try?