I don't know of any client that settles for "good enough" based on available bandwidth. Even just audio is good enough a lot of the time (apart from one person screen-sharing); anything beyond that should be a bonus!
In general though the solution requires a server somewhere to "un" peer-to-peer everything.
In general though the solution requires a server somewhere to "un" peer-to-peer everything.