Live and on-demand video streaming has recently contributed a significant part of the Internet traffic. In order to guarantee the best possible user experience, multimedia service is required to support large fluctuations in different network conditions. One of the cost effective means for multimedia delivery nowadays is HTTP streaming. The key challenge of this technology is how to change adaptively video bitrates according to network variation and client buffer while bestowing upon users the best possible video quality. In this paper, we propose a novel rate-adaptation method on client side, which allows clients to estimate buffer level in the future, and thus achieving a balance between the need for high video quality and buffer stability. The experiments show that our method performs well under varying network conditions.