| GStreamer data protocol | |
| Intended to wrap GstData objects in a line protocol for use with | |
| pipe / network elements. | |
| IDEAS-- -- -*for transporting buffers, have a function that creates a header for a given buffer to be written before the buffer.This way, you don 't lose | |
| time creating a GDP buffer from the buffer | |
| * allow for CRC' ing of the GstBuffer, optionally * have a version number of the protocol * optimizing the header for size is not useful since the GstData structure | |
| already contains more than 32 bytes anyway, making up half the header size PROTOCOL-- -- ----*1 byte GDP major | |
| version (0) | |
| *1 byte GDP minor version (1) | |
| * 1 byte GDP flags | |
| * 1 byte GDP data type | |
| 1 for buffer, 2 caps, 65 + for events | |
| * 4 byte length of "payload" | |
| * 8 byte timestamp of buffer / event | |
| * 8 byte duration of buffer | |
| * 8 byte offset | |
| * 8 byte offset_end | |
| * 2 byte buffer data flags * 14 byte future extension (ABI padding) | |
| *2 byte optional header crc | |
| * 2 byte optional payload crc | |
| * (length) payload | |
| header:60 bytes | |
| PROTOCOL CHANGELOG-- -- | |
| --------------0.1:added two bytes for buffer flags all numbers use | |
| network byte ordering. |