OK, the firmware update made no difference, so I replaced the optical cable. This actually made it worse and I subsequently found the problem is the socket on the back of the player won't hold the cable tight enough, so it breaks the contact
Anyway, I disconnected that and used the electrical digital co-ax out instead and the sound is fine, so it must just be the socket that's faulty.
I had to remove the co-ax from my other Blu-ray player, and as my amp only has one electrical digital in I'll need to get a joiner so the two can share it (awww...) - hope it works!