Media Render:
We will now examine the render's processing in a little more detail. The renderer contains a CPU, system memory (RAM) and a system bus. It will also contain a CPU clock which is used to synchronize operations (executing CPU instructions, moving data to and from memory, moving data onto a system bus).
Each process element (TCP, IP and Ethernet) have a designated space in system memory to perform their work. When data is transferred from one processing element to another the data will be copied/moved from one location in system memory to another location. We will refer to this movement of data between the process elements as streaming.
The Ethernet process creates an Ethernet frame from the electrical signals on the cable. Once a frame has been identified the checksum is then verified. If any of the bits are received in error the entire frame is discarded. The contents of the Ethernet frame are then streamed to the IP process.
The IP process extracts an IP packet from the Ethernet frame. If the packet is valid and the destination address matches the renderer address a TCP packet is extracted from the IP packet and streamed to the TCP process.
The TCP process verifies the packet checksum to ensure that data has not been corrupted. If the checksum is not verified the packet is discarded. The packet sequence number is compared to the next expected sequence number. If the numbers match the contents of the packet are streamed to the next process in the process chain and the sequence number is acknowledged to the media server. If the received sequence number is less than the expected sequence number the packet is discarded. If the received sequence number is greater than the expected sequence number the packet can be discarded or saved for later processing. The media server will automatically retransmit packets which are not acknowledged within a defined time limit.
After enough data has been accumulated in system memory the process of generating an analog signal from the digital data may begin.