A computer program product for implementing a method of transmitting packets of an audio-video (AV) data stream from a source device to a destination device on a network across at least two network links, each link having unique communication protocols, wherein the method is capable of being performed by a computer incorporated in the source device, the computer program product comprising a non-transitory computer-readable medium having computer-executable instructions recorded thereon for implementing the method, the computer-executable instructions comprising:
- (a) identifying the links connecting the source device and destination device;
- (a) assigning one of said links as a primary link (PL) and another of said links as a backup link (BL);
- (b) causing transmission of all of the packets of the AV data stream from the source device via the PL using the protocols associated with the PL;
- (c) periodically causing transmission of a signal to the destination device via each link and receipt of a return signal from the destination device via each link;
- (d) periodically measuring the roundtrip time for said signal and return signal on the PL (RTT-PL) and the roundtrip time for said signal and return signal on the BL link (RTT-BL);
- (e) if RTT-PL is greater than RTT-BL after a periodic measurement, decreasing the number of packets to be transmitted from the source device via the PL and increasing the number of packets to be transmitted from the source device via the BL using the protocols associated with the BL;
- and
- (f) if RTT-PL is less than RTT-BL after a periodic measurement, decreasing the number of packets to be transmitted from the source device via the BL using the protocols associated with the BL and increasing the number of packets to be transmitted from the source device via the PL using the protocols associated with the PL.