In this paper, we propose a scheduling algorithm for improving the performance of packetized video streaming with the transmission control protocol (TCP). The scheduling algorithm estimates the effect of TCP-induced losses on the expected decoder distortion, and makes distortion-optimized scheduling decisions for future transmissions of media packets. The novel characteristic of our approach is that the scheduling algorithm calculates the probability of decoding failure for a specific media packet, by considering the effect of TCP internal mechanisms both at the sender and the receiver. Our objective is to maximize the quality at the decoder for a given startup delay and playback buffer size. Experiments show that decoded video quality is significantly improved when compared with TCP streaming systems that ignore the dynamic behavior of the protocol.