What device are you using to watch it?
When you get buffering it's usually either the network or the CPU on the device.
Your network sounds fine, 31Mbit/sec should be fine for most purposes so long as it's consistently good.
A further test of the net connection would be to run a ping test and watch to see if it drops any packets.
On Windows 7, go to Start menu and type 'cmd' in to the search box. This will launch a DOS window.
Type 'ping
www.bbc.co.uk -t' and press return.
It'll send a small signal once a second to the site specified and wait for it to be echoed back. Watch it and if it's consistently reliable then your net is good, if at times it pauses and says 'timed out' or similar there is packet poss. A very small amount is okay but any more suggests network problem which could be at the site, the ISP or your end.
But presuming it's all good then sometimes the device can struggle to have enough CPU to decode higher quality streams fast enough to watch them. It sounds like you're using a smart TV of some sort, I don't have much experience with those but you would have thought they would be designed for the job. But I'd try it out on another device if you have one, desktop PC or laptop and see how it plays.
Andy