A method comprising: receiving one or more beacon or probe response frames from an access point of an infrastructure network; thereby to synchronize a global clock of a client device to a global clock of the access point; receiving data, at the client device, transmitted by a master device having a global clock matching the global clock of the access point, the received data including a local clock counter value of the master device and a global clock value of the master device, wherein the global clock value of the master device is read when the local clock counter value of the master device is read; reading a local clock counter value of the client device at the time of receipt of the received data; reading a global clock value of the client device at the time of receipt of the received data; calculating the frequency difference between the client device's local clock frequency and the master device's local clock frequency, wherein the frequency difference is calculated using the local clock counter value of the master device, the global clock value of the master device, the local clock counter value of the client device, and the global clock value of the client device; and adjusting the client device's local clock frequency based on the calculated frequency difference to obtain an adjusted client local clock signal synchronized to the master device's local clock frequency, such that the adjusted client local clock signal is synchronized to the local clock of the master device, wherein each client device includes a respective digital to analog converter that is clocked by a signal derived from the respective adjusted client local clock signal and that is operative to generate analog audio data, and one or more elements operative to provide audio and/or video playback. receiving one or more beacon or probe response frames from an access point of an infrastructure network; thereby to synchronize a global clock of a client device to a global clock of the access point; receiving data, at the client device, transmitted by a master device having a global clock matching the global clock of the access point, the received data including a local clock counter value of the master device and a global clock value of the master device, wherein the global clock value of the master device is read when the local clock counter value of the master device is read; reading a local clock counter value of the client device at the time of receipt of the received data; reading a global clock value of the client device at the time of receipt of the received data; calculating the frequency difference between the client device's local clock frequency and the master device's local clock frequency, wherein the frequency difference is calculated using the local clock counter value of the master device, the global clock value of the master device, the local clock counter value of the client device, and the global clock value of the client device; and adjusting the client device's local clock frequency based on the calculated frequency difference to obtain an adjusted client local clock signal synchronized to the master device's local clock frequency, such that the adjusted client local clock signal is synchronized to the local clock of the master device, wherein each client device includes a respective digital to analog converter that is clocked by a signal derived from the respective adjusted client local clock signal and that is operative to generate analog audio data, and one or more elements operative to provide audio and/or video playback.