if you just need a (quicker) solution I would second using VLC. It won;t be "all in Pd or a cross-platform object solution" but does work. The more ideal solution is more up to date stream objects which could wrap the libraries used by something that is more maintained than gvmerlin, for instance libvlc.
in any case, IU would share a solution which worked for me:
We (ZKM | Hertzlab) did a live streaming project in 2018 using an Icecast server with 4 stereo streams which was grabbed by 4 VLC instances -> JACK -> Pd. The project infrastructure is not open source (maybe should be...) but here is relevant info:
macOS wrapper script for starting VLC for the various streams and connecting it to Jack:

my system diagram 
On Nov 22, 2024, at 12:00 PM, pd-list-request@lists.iem.at wrote:
Date: Fri, 22 Nov 2024 11:49:40 +0100 From: oliver <oliver@klingt.org mailto:oliver@klingt.org> Subject: [PD] Re: mp3 playback from URL To: Pd-List <pd-list@lists.iem.at mailto:pd-list@lists.iem.at> Message-ID: <caaef0c6-a83e-5e32-f296-f860df48de1a@klingt.org mailto:caaef0c6-a83e-5e32-f296-f860df48de1a@klingt.org> Content-Type: text/plain; charset=UTF-8; format=flowed
Hi, Roman !
Maybe off-topic, but i thought i'd mention it:
I recently had good success with remote controlling VLC player from within PD. i don't know if this helps in your setup, but at least VLC might still be around the next years ;-)
Basically what you do is: You start vlc (or "cvlc" - the command line version of vlc) invoking a TCP remote control address.
I actually started vlc from within PD with the [command] external:
[exec /usr/bin/cvlc -I rc --rc-host=localhost:7777( | [command]
this way you can send remote control messages to
[netsend -b] [initiated with "connect localhost 7777")
(I'm not sure if the binary mode is needed but i used it anyway)
You can also receive information from cvlc this way. send a "help" message to get available commands or see for example here:
https://superuser.com/questions/767330/is-there-a-simple-audio-player-that-c...
Sidenote:
Remote controlling MPLAYER is supposed to work in a similar way, but i didn't investigate it too much ...
Best
Oliver
Dan Wilcox danomatika.com http://danomatika.com/ robotcowboy.com http://robotcowboy.com/