Patent ID: 8015306

Claim:
A media server comprising: a transceiver coupled to a network; a streaming media source coupled to said transceiver; a processor; a memory coupled to said processor, said memory comprising: a list of output devices coupled to said media server via said network; computer code comprising instructions for causing said processor to perform the steps of: transmitting a synchronization packet to said output devices; awaiting responses to said synchronization packet from said output devices; determining one of said output devices to be a master output device based on said responses to said synchronization packet received from said output devices; said master device sending a plurality of successive requests for successive sets of streaming media data of a media stream to said media server when a fill level of a buffer of said master device falls below a desired level; in at least one of said plurality of output devices other than said master device, determining that a fill level of a playback buffer of said output device is outside of a desired level range, and applying a playback rate adjustment to match a rate of reception of said successive sets of streaming media data when said fill level is outside said desired level range; identifying a first request received from said master output device via said network for a first set of streaming media data of a first media stream; transmitting said first set of streaming media data to said output devices via said network in response to said first request received from said master output device; awaiting a second request from said master output device for a second set of streaming media data of said first media stream; transmitting said second set of streaming media data to said output devices via said network in response to said second request received from said master output device.