A method (300, 400) of downspeeding a media stream transmitted over a communication link from a sender device to a receiving device, the method (300, 400) comprising performing with the sender device the steps of - mapping for each packet in the media stream a packet identifier, a transmission timestamp and a packet size; - receiving for each packet received at the receiving device a feedback message the feedback message comprising the packet identifier and an arrival timestamp; - determining a transmission rate for a first sliding window of N transmitted packets by dividing a packet size sum of the N transmitted packets with a time difference between the transmission time stamp of the last of the N transmitted packets and the transmission time stamp of the first of the N transmitted packets; - determining a received rate for the first sliding window of the N transmitted packets by dividing the packet size sum of the N transmitted packets with a time difference between the arrival time stamp of the last of the N transmitted packets and the arrival time stamp of the first of the N transmitted packets; - initiating downspeeding of the media stream when for the first sliding window of the N transmitted packets the difference between the transmission rate and the received rate divided by the transmission rate is above a first downspeeding threshold; - transmitting recovery packets into the media stream, each recovery packet adapted to replace a missing packet of the media stream; - mapping for each recovery packet the packet identifier of the recovery packet and the packet identifier of the packet the recovery packet is adapted to replace; - determining a packet as missing when none of the feedback messages comprises the packet identifier of the packet; - determining a packet as recovered when a feedback message comprises the packet identifier of a recovery packet corresponding to the missing packet; - determining a packet recovery success rate by dividing a total number of packets determined as recovered within a second sliding window with a total number of packets determined as missing within the second sliding window; and - initiating downspeeding of the media stream when the packet recovery success rate is below a second downspeeding threshold; measuring a round trip delay from the receiving device requesting a recovery packet to the feedback message comprising the packet identifier of the recovery packet, and waiting the at least one round trip delay before determining the packet recovery success rate. - mapping for each packet in the media stream a packet identifier, a transmission timestamp and a packet size; - receiving for each packet received at the receiving device a feedback message the feedback message comprising the packet identifier and an arrival timestamp; - determining a transmission rate for a first sliding window of N transmitted packets by dividing a packet size sum of the N transmitted packets with a time difference between the transmission time stamp of the last of the N transmitted packets and the transmission time stamp of the first of the N transmitted packets; - determining a received rate for the first sliding window of the N transmitted packets by dividing the packet size sum of the N transmitted packets with a time difference between the arrival time stamp of the last of the N transmitted packets and the arrival time stamp of the first of the N transmitted packets; - initiating downspeeding of the media stream when for the first sliding window of the N transmitted packets the difference between the transmission rate and the received rate divided by the transmission rate is above a first downspeeding threshold; - transmitting recovery packets into the media stream, each recovery packet adapted to replace a missing packet of the media stream; - mapping for each recovery packet the packet identifier of the recovery packet and the packet identifier of the packet the recovery packet is adapted to replace; - determining a packet as missing when none of the feedback messages comprises the packet identifier of the packet; - determining a packet as recovered when a feedback message comprises the packet identifier of a recovery packet corresponding to the missing packet; - determining a packet recovery success rate by dividing a total number of packets determined as recovered within a second sliding window with a total number of packets determined as missing within the second sliding window; and - initiating downspeeding of the media stream when the packet recovery success rate is below a second downspeeding threshold; measuring a round trip delay from the receiving device requesting a recovery packet to the feedback message comprising the packet identifier of the recovery packet, and waiting the at least one round trip delay before determining the packet recovery success rate.