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 * 1 byte GDP minor version * 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 * 16 byte future extension (ABI padding) * 2 byte optional header crc * 2 byte optional payload crc * (length) payload header: 60 bytes all numbers use network byte ordering.