Thanks for the prompt reply.
I’ve been doing some more digging around and testing and I’ve worked out what is going on.
I’ve got roon running under a non-root user by using effectively the same steps as documented here:
This user has a home directory outside of the /home folder.
The version of ffmpeg that was installed as a ‘snap’ as this installed a much newer version of ffmpeg that the one the comes in the default apt repository.
Unfortunately tools installed via ‘snap’ do not function correctly for users that do not have a home directory under /home (see Bug #1620771 “when /home is somewhere else, snaps don't work” : Bugs : snapd) and I confirmed this by trying to run ffmpeg as the same user roon runs as.
This means that while a working version of ffmpeg was installed whenever it was invoked by the roon process it terminated immediately with an error, hence the error with no stream being read by roon.