Abstract:
A system for recovering channel bonded program streams may include filters and a collator. The filters may be configured to receive data streams that include multiple chunks of transport stream packets, and marker information items that are indicative of boundaries of the chunks, over multiple bonded channels, and to individually filter the data streams based at least on a utilized program identifier. The collator may be configured to collate the filtered data streams based at least on the marker information items to recover a program stream corresponding to the utilized program identifier. In one or more implementations, the filters may replace, or augment, the marker information items with marker packets that include a program identifier that is not being used for transmitted programs and/or that is reserved for marker packets. The collator may collate the filtered data streams based at least on the marker packets.
Abstract:
A system for lossless switching of traffic in a network device may be implemented when a network switch is integrated into a gateway device, or with any other data source. A processor of the gateway device may receive queue depth information for queues of the network switch. The processor may prevent data from being transmitted to congested queues of the network switch, while allowing data to be transmitted to uncongested queues. In this manner, data loss can be avoided through the network switch for data sourced from the gateway device, such as audio-video data retrieved from a hard drive, audio-video data received from a tuner, etc. Furthermore, re-transmission at higher layers can be reduced. Since the subject system observes congestion for each individual queue, only traffic destined to that particular, congested, queue is affected, e.g. paused. Traffic to non-congested queues is not affected, regardless of traffic class or egress port.
Abstract:
A device for decoupling audio-video (AV) traffic processing from non-AV traffic processing may include a first processor and a second processor. The first processor may be configured to establish a network connection with a client device, determine whether the network connection is associated with AV traffic, transfer the network connection to a second processor when the network connection is associated with AV traffic, and process non-AV traffic associated with the network connection when the network connection is not associated with AV traffic. The second processor may be configured to receive the network connection from the first processor and process the AV traffic associated with the network connection.
Abstract:
A method includes receiving data stream packets on respective ones of data channels. The data stream packets of each respective data channel contain an input data stream. The method includes storing the data stream packets for each of the data channels in one or more packet buffers associated with the respective data channel. For each of the data channels, the method includes determining if a timing maturity event of a corresponding input data stream has occurred. The method includes outputting one or more of the stored data stream packets from the packet buffers associated with the respective data channel to generate a transmission packet if the timing maturity event of the corresponding input data stream has occurred. The stored data stream packets for generating consecutive transmissions packets may be output at a data rate based on a distance between timing maturity event occurrences of the corresponding input data stream.
Abstract:
A system for adaptive audio video (AV) stream processing may include at least one processor and a switch device. The switch device may be configured to route AV traffic to the processor, and to receive AV traffic from the processor and provide the AV traffic to a client device via one or more channels. The processor may monitor a transcoder buffer depth and depths of buffers associated with channels over which the AV traffic is being transmitted. The processor may adaptively modify one or more attributes associated with the AV traffic based at least on the monitored buffer depths. For example, the processor may adaptively adjust a bit rate associated with transcoding the AV traffic based at least on the transcoder buffer depth. The processor may utilize the depths of the buffers associated with the channels to adaptively adjust the amount of AV traffic provided for transmission over the channels.
Abstract:
A system for efficient memory bandwidth utilization may include a depacketizer, a packetizer, and a processor core. The depacketizer may generate header information items from received packets, where the header information items include sufficient information for the processor core to process the packets without accessing the payloads from off-chip memory. The depacketizer may accumulate multiple payloads and may write the multiple payloads to the off-chip memory in a single memory transaction when a threshold amount of the payloads have been accumulated. The processor core may receive the header information items and may generate a single descriptor for accessing multiple payloads corresponding to the header information items from the off-chip memory. The packetizer may generate a header for each payload based at least on on-chip information and without accessing off-chip memory. Thus, the subject system provides efficient memory bandwidth utilization, e.g. at least by reducing the number of off-chip memory accesses.
Abstract:
A system for adaptive audio video (AV) stream processing may include at least one processor and a switch device. The switch device may be configured to route AV traffic to the processor, and to receive AV traffic from the processor and provide the AV traffic to a client device via one or more channels. The processor may monitor a transcoder buffer depth and depths of buffers associated with channels over which the AV traffic is being transmitted. The processor may adaptively modify one or more attributes associated with the AV traffic based at least on the monitored buffer depths. For example, the processor may adaptively adjust a bit rate associated with transcoding the AV traffic based at least on the transcoder buffer depth. The processor may utilize the depths of the buffers associated with the channels to adaptively adjust the amount of AV traffic provided for transmission over the channels.
Abstract:
A method of handling retransmission and memory consumption tracking of data packets includes storing data packets from different data channels in respective transmitter ring buffers allocated to the data channels when the data packets are not marked for retransmission, and facilitating retransmission of data packets from a specified ring buffer corresponding to a retransmission sequence number. The method also may include storing received data packets out of sequence in respective receiver ring buffers, marking a descriptor indicating a tail location of the stored data packets, and reclaiming memory space in the ring buffer based on the marked descriptor. The method may include storing a payload address associated with received data packets, marking a descriptor associated with the payload address to indicate the stored data packets have been consumed for processing, and reclaiming memory space when a register contains an indication of the stored payload address based on the marked descriptor.