Abstract:
Described herein are systems and methods for initiating presentation of content on a device. Unencrypted content is received for presentation. During presentation of the unencrypted content, encrypted content is accessed, decrypted and prepared for presentation. Once available, the presentation transitions from the unencrypted content to the encrypted content. As a result, latencies involved in accessing the encrypted content do not affect presentation to a user.
Abstract:
Media devices may stream content from content delivery networks. Described herein are systems, devices, and methods for selecting nodes to improve content streaming. A selection server may select a node based on destination metrics provided by the media device. The destination metrics may include a variety of information such as information about the latency associated with the video stream, the bandwidth between the media device and the streaming node, or the throughput associated with the video stream. The selection server may compare the destination metrics with source metrics to determine which node to select.
Abstract:
When streaming content such as movies, music, or audiobooks for presentation, changes in conditions or unavailable frames may result in stutters or other negative experiences during presentation. Described herein are techniques and systems for extrapolating one or more frames based on previously received data. When an unavailable frame is determined, an interpolated frame is generated for presentation in place of the unavailable frame. The interpolated frame may be generated based on other frames that were received out of sequence, such as frames for presentation subsequent to the unavailable frame, as well as frames for presentation prior to the unavailable frame.
Abstract:
A variety of media devices may stream and present content such as movies, music, audiobooks, and so forth. During streaming, data transfer rates may temporarily drop below that needed to maintain presentation. Described herein are techniques and systems for repeating presentation of previously received video frames. This repeated presentation allows for presentation of the content to continue uninterrupted, while providing time for the data transfer rate to regain a level capable of maintaining the presentation.
Abstract:
A variety of media devices may stream and present content such as movies, music, audiobooks, and so forth. During streaming, changing conditions or unavailable frames may result in stutters or other presentation problems. Described herein are techniques and systems for extrapolating one or more frames based on previously received data. The interpolated frames may be presented, reducing or eliminating the presentation problems.
Abstract:
A browser includes modules to provide markup language applications with access to cryptographic functions executing in a secure zone. Non-secure operations associated with the cryptographic functions called by the markup language application may be executed in a virtual machine. Sensitive data such as cryptographic keys may be “wrapped” or encrypted by the secure zone using a key. The encrypted sensitive data may then be stored in non-secure memory for further use. Upon request by the cryptographic functions, the encrypted sensitive data may be retrieved and decrypted with the secure zone for use.
Abstract:
Content comprising audio and video may be processed by different processing pipelines, but latencies between these pipelines may differ due to differences in data compression, processing loads, and so forth. The time between entry and exit from the pipeline of a frame is measured to determine pipeline latency. The pipeline latency may be used to shift timing of audio frames, video frames, or both, such that they are synchronized during presentation.
Abstract:
Media devices streaming video from a server may use techniques to maintain presentation of content to one or more users. Described herein are systems and methods for determining which metadata to provide to the media devices for maintaining presentation of the content. The determination of which metadata to provide may be based on various factors such as the capabilities of the media device, the expected quality of service, and the amount of bandwidth between the server and the media device.
Abstract:
Media devices may stream a wide variety of content for presentation. Described herein are systems, devices, and methods for improving the presentation of the content. The media device may execute a pipeline architecture comprising a sequential execution of a plurality of threads. The threads may include a decryption thread, a decoding thread, and a rendering thread. The media device may include buffer queues between the threads, which enable continuous content presentation when one or more of the threads fail to communicate with another thread. The media device may pause the presentation of content by suspending the execution of the rendering thread. In one implementation, the media device replaces a stale frame that is displayed after performing a seek function with a black frame. In another example, to maintain content presentation, the media device drops video frames if an audio video lag event occurs.
Abstract:
Described herein are systems and methods for determining and distributing pre-fetch data associated with streaming of content to a media device. Transport control data associated with user navigation within the content during consumption of the content is acquired. The transport control data is processed to determine one or more points of interest in the content. Pre-fetch content associated with these one or more points of interest may be delivered to the media device. Presentation is expedited with low or no latency during navigation to one of the points of interest having the pre-fetched content, which may be presented while the content is being made available.