Skip to content

Commit d237b5c

Browse files
Pawel BalaPawel Bala
Pawel Bala
authored and
Pawel Bala
committed
text to close to pic
1 parent ea44bce commit d237b5c

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

basic_pipeline/02_SystemArchitecture.md

+1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Here you can find the description of the particular elements of the system.
2828
- **Ordering Buffer** - this element is responsible for reordering the packets based on their sequence id. The most important part of this element is the buffer, within which there is a place for all the packets, identified by the packet's sequence id. Once the new packet is received, it is placed in the proper place in the buffer, depending on the sequence id. If there is a consistent part of packets "at the bottom of the buffer" (which means - packets with the subsequent sequence ids, which haven't already been sent yet), then this part is sent via the output pad. That is how we make sure that the next element will receive elements sorted by the sequence id.
2929
Below you can see how the Ordering Buffer is expected to work, once the message "How are you doing?" will be sent in the four packets, each with one word, and received in the following order: (are, you, how, doing?) <br>
3030
![Ordering Buffer](assets/images/ordering_buffer.drawio.png) <br>
31+
3132
- **Depayloader** - responsible for assembling the packets into the [frames](../glossary/glossary.md#frame). Since the depayloader receives the packets in the order of their sequence id (which means - the order in which they were 'sent'), it is capable of separating out the particular frames, basing on the **e** (ending packet of the frame) characters at the end of the frame id. This element also reads the timestamp from the packets' headers and puts it into buffer's 'pts' (*Presentation timestamp*) field.
3233
- **Mixer** - responsible for mixing the frames received via two input pads. The order in which the frames are mixed is based on their 'pts' (*Presentation timestamp*).
3334
- **Sink** - this element is responsible for writing the received frames to the file. Since the Mixer takes care of sorting the frames based on the timestamp, Sink can take advantage of the fact that the frames will be ordered and write them to the file in the order they are received.

0 commit comments

Comments
 (0)