Abstract:
Systems, methods, and devices of the various embodiments enable HTTP servers, such as HTTP servers providing segments to DASH clients according to the various embodiments, to pass incomplete versions of segments in response to segment requests from the DASH clients. The various embodiments may enable clients, such as DASH clients, to parse incomplete versions of segments.
Abstract:
Data objects are delivered over a packet-switched network and receivers receive encoded symbols, such as repair symbols, broadcast or multicast, with sufficient information to form requests for additional symbols as needed based on what source symbols or sub-symbols are needed or missing. The requests can be made in a unicast or request fashion. Requesting and broadcasting might be done by different entities. A broadcast server can generate and store repair symbols while a source server can store content in source form. A request can be a unicast HTTP byte-range request, such as a URL, starting position and length. Requests might be aligned with starting positions of files. A receiver can calculate starting and ending byte positions of symbols or sub-symbols in a file and get indications that conventional HTTP servers are usable for file repair. Repair servers can request broadcast of repair data when byte-range requests from multiple receivers overlap.
Abstract:
An example device for processing media data includes one or more processors configured to receive a file including media data, determine that a portion of the file is potentially erroneous, form error-indicative data indicating that the file includes the portion that is potentially erroneous, and store the file and the error-indicative data to a location available to a target application for the media data of the file. Another example device includes one or more processors configured to receive a file including media data, receive a first set of information indicative of one or more removable portions of the file that can be removed from the file, receive a second set of information indicative of a suspect portion of the file, determine one or more of the removable portions that completely overlap the suspect portion, and remove the determined one or more removable portions from the file.
Abstract:
In one example, a device for receiving data related to streaming media data includes one or more network interfaces configured to send and receive data via a network, and one or more processors configured to receive, via the network interfaces, data for a first period of media content and a second period of the media content, wherein the data for the first period indicates that at least some media data of the first period is not available, and wherein the data for the second period indicates available media data for the second period, and based on the data for the first period and the second period, omitting requests for media data of the first period that the data for the first period indicates is not available and sending one or more requests for the media data of the second period.
Abstract:
A device for receiving streaming data includes a broadcast or multicast middleware unit configured to receive the streaming data via a second service and a proxy unit configured to be disposed between the middleware unit and a client application, the proxy unit further configured to receive an indication of whether the streaming data is to be received via a first service or the second service, when the indication indicates that the streaming data is to be received via the first service: disable the middleware unit; and receive the streaming data via the first service, and when the indication indicates that the streaming data is to be received via the second service: activate the middleware unit to receive the streaming data via the second service, wherein the second service comprises at least one of a broadcast service or a multicast service; and receive the streaming data from the middleware unit.
Abstract:
In one example, a client device for receiving information for streaming of media data includes a clock, and one or more processors configured to receive a media presentation description (MPD) for media content, wherein the MPD includes data indicative of wall-clock times at which the client device can retrieve data of the media content from a source device, and wherein the data indicates a synchronization method by which the client device is to synchronize the wall-clock times with the clock, synchronize the clock with the wall-clock times using the method indicated by the MPD, and request data of the media content from the source device using the synchronized clock. A server device or source device may form and provide such an MPD to a client device.
Abstract:
An example device includes one or more memories configured to store a current real-time transport protocol (RTP) packet and one or more processors. The one or more processors are configured to determine a protocol data unit (PDU) set, the PDU set comprising a plurality of PDUs, each PDU comprising a corresponding RTP packet. The one or more processors are configured to determine, for a current RTP packet of the PDU set, a remaining PDU set size, the remaining PDU set size being indicative of a size of the sum of a remainder of the PDUs of the PDU set. The one or more processors are configured to transmit the current RTP packet including an RTP header extension comprising a value indicative of the remaining PDU set size.
Abstract:
A client device includes a memory comprising a buffer for buffering data having real-time constraints and a hardware-based processor comprising digital logic circuitry. The processor is configured to execute a real-time application configured to determine times during which the data will be available for download, determine a time at which the data is needed to prevent a buffer underrun for the buffer, and when the data is available, send a request for the data and deadline information representative of the time at which the data is needed to avoid the buffer underrun. In this manner, a sending device can prioritize delivery of the requested data to prevent the buffer underrun for the client device.
Abstract:
In one example, a device for retrieving media data includes a memory configured to store media data including advertisement content and main media data, and one or more processors implemented in circuitry and configured to: send advertisement information to an advertisement server device; in response to sending the advertisement information, receive the advertisement content from the advertisement server; retrieve the main media data; and provision the advertisement content to the main media data. The device may further include a coded picture buffer (CPB) and a video decoder that retrieves encoded video data from the CPB for decoding. The one or more processors may provision the advertisement content to the main media content by sending both the advertisement content and the main media content to the CPB.
Abstract:
In one example, a device for retrieving media data includes a memory configured to store media data including advertisement content and main media data, and one or more processors implemented in circuitry and configured to: send advertisement information to an advertisement server device; in response to sending the advertisement information, receive the advertisement content from the advertisement server; retrieve the main media data; and provision the advertisement content to the main media data. The device may further include a coded picture buffer (CPB) and a video decoder that retrieves encoded video data from the CPB for decoding. The one or more processors may provision the advertisement content to the main media content by sending both the advertisement content and the main media content to the CPB.