A computing device (120; 220; 700; 800) comprising: a processor (710, 715; 810) a network connection (770; 860); and memory (720, 725, 740; 822, 824); the computing device configured, via computer-executable instructions, to perform operations for determining corrected timestamp ranges for streaming data, wherein the streaming data is encoded using frames with a variable frame size, the operations comprising: receiving, via the network connection, a network packet comprising a received timestamp value and a frame of streaming data (122; 510), wherein the received timestamp value has a fixed timestamp increment; determining that a preceding network packet, comprising a preceding frame of streaming data, has been lost (124; 520); calculating a possible buffer size range in relation to the received network packet by: calculating a propagated buffer size range based at least in part on: a buffer size range for the lost frame and a duration of the received frame; and calculating an intersection of the propagated buffer size range and a maximum buffer size range for the received frame; wherein the possible buffer size range is for an encoding buffer used to encode the streaming data in the received network packet; calculating a corrected timestamp range for the received network packet based at least in part on the received timestamp value and the possible buffer size range (126; 540); and using the corrected timestamp range to control decoding and/or playback of the streaming data in the received network packet. a processor (710, 715; 810) a network connection (770; 860); and memory (720, 725, 740; 822, 824); the computing device configured, via computer-executable instructions, to perform operations for determining corrected timestamp ranges for streaming data, wherein the streaming data is encoded using frames with a variable frame size, the operations comprising: receiving, via the network connection, a network packet comprising a received timestamp value and a frame of streaming data (122; 510), wherein the received timestamp value has a fixed timestamp increment; determining that a preceding network packet, comprising a preceding frame of streaming data, has been lost (124; 520); calculating a possible buffer size range in relation to the received network packet by: calculating a propagated buffer size range based at least in part on: a buffer size range for the lost frame and a duration of the received frame; and calculating an intersection of the propagated buffer size range and a maximum buffer size range for the received frame; receiving, via the network connection, a network packet comprising a received timestamp value and a frame of streaming data (122; 510), wherein the received timestamp value has a fixed timestamp increment; determining that a preceding network packet, comprising a preceding frame of streaming data, has been lost (124; 520); calculating a possible buffer size range in relation to the received network packet by: calculating a propagated buffer size range based at least in part on: a buffer size range for the lost frame and a duration of the received frame; and calculating an intersection of the propagated buffer size range and a maximum buffer size range for the received frame; calculating a propagated buffer size range based at least in part on: a buffer size range for the lost frame and a duration of the received frame; and calculating an intersection of the propagated buffer size range and a maximum buffer size range for the received frame; wherein the possible buffer size range is for an encoding buffer used to encode the streaming data in the received network packet; calculating a corrected timestamp range for the received network packet based at least in part on the received timestamp value and the possible buffer size range (126; 540); and using the corrected timestamp range to control decoding and/or playback of the streaming data in the received network packet. calculating a corrected timestamp range for the received network packet based at least in part on the received timestamp value and the possible buffer size range (126; 540); and using the corrected timestamp range to control decoding and/or playback of the streaming data in the received network packet.