A method, comprising, in a streaming application environment including one or more processors: interfacing a virtual streaming application with a remote device coupled to the streaming application environment over a packet-switched network, including: receiving from the packet-switched network input generated at the remote device, and streaming an output display representation generated by the virtual streaming application in response to the received input over the packet-switched network to the remote device, the output display representation comprising a plurality of frames; receiving input events from the remote device, each input event generated on the remote device during rendering of the frames of the output display representation, in response to user input, to control the virtual streaming application, wherein the received input events are associated with inputs generated during frames on the remote device and include gesture start, gesture stop and gesture move events associated with user input gestures received by the remote device; tracking a state of a user input gesture, wherein tracking the state of the user input gesture includes determining whether the gesture is started or completed; testing whether a received input event to be injected into the virtual streaming application and the tracked state of the user input gesture correspond to the loss or delay of a prior user input gesture; if a received input event to be injected into the virtual streaming application and the tracked state of the user input gesture corresponds to the loss or delay of a prior user input gesture, synthesizing at least one correction event from the received input events, the at least one correction event corresponding to the lost or delayed prior user input generated on the remote device during the rendering of the frames of the output display representation, in response to user input, to control the virtual streaming application; controlling injection of the received input events and the at least one correction event into the virtual streaming application to arrange the received input events and the at least one correction event within virtual frames corresponding to the frames with which the received inputs and the lost or delayed user input gestures are associated; and encoding the virtual frames and communicating the encoded virtual frames to a video player component of the remote device. interfacing a virtual streaming application with a remote device coupled to the streaming application environment over a packet-switched network, including: receiving from the packet-switched network input generated at the remote device, and streaming an output display representation generated by the virtual streaming application in response to the received input over the packet-switched network to the remote device, the output display representation comprising a plurality of frames; receiving from the packet-switched network input generated at the remote device, and streaming an output display representation generated by the virtual streaming application in response to the received input over the packet-switched network to the remote device, the output display representation comprising a plurality of frames; receiving input events from the remote device, each input event generated on the remote device during rendering of the frames of the output display representation, in response to user input, to control the virtual streaming application, wherein the received input events are associated with inputs generated during frames on the remote device and include gesture start, gesture stop and gesture move events associated with user input gestures received by the remote device; tracking a state of a user input gesture, wherein tracking the state of the user input gesture includes determining whether the gesture is started or completed; testing whether a received input event to be injected into the virtual streaming application and the tracked state of the user input gesture correspond to the loss or delay of a prior user input gesture; if a received input event to be injected into the virtual streaming application and the tracked state of the user input gesture corresponds to the loss or delay of a prior user input gesture, synthesizing at least one correction event from the received input events, the at least one correction event corresponding to the lost or delayed prior user input generated on the remote device during the rendering of the frames of the output display representation, in response to user input, to control the virtual streaming application; controlling injection of the received input events and the at least one correction event into the virtual streaming application to arrange the received input events and the at least one correction event within virtual frames corresponding to the frames with which the received inputs and the lost or delayed user input gestures are associated; and encoding the virtual frames and communicating the encoded virtual frames to a video player component of the remote device.