because the TCP send buffer is shown to be full, the server is momentarily prevented
from sending more bytes from the video file into the socket. On the client side, the
client application (media player) reads bytes from the TCP receive buffer (through
its client socket) and places the bytes into the client application buffer. At the same
time, the client application periodically grabs video frames from the client application
buffer, decompresses the frames, and displays them on the user’s screen. Note that
if the client application buffer is larger than the video file, then the whole process of
moving bytes from the server’s storage to the client’s application buffer is equivalent
to an ordinary file download over HTTP—the client simply pulls the video off
the server as fast as TCP will allow!