Merge branch 'upstream/1.16' into tizen_gst_1.16.2
[platform/upstream/gstreamer.git] / docs / random / gdp
1 GStreamer data protocol
2     Intended to wrap GstData objects in a line protocol for use with
3     pipe / network elements.
4     IDEAS-- -- -*for transporting buffers, have a function that creates a header for a given buffer to be written before the buffer.
5     This way, you don't lose time creating a GDP buffer from the buffer
6 * 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
7     already contains more than 32 bytes anyway, making up half the header size PROTOCOL-- -- ----*1 byte GDP major
8 version (0)
9   *1 byte GDP minor version (1)
10   * 1 byte GDP flags
11       * 1 byte GDP data type
12       1 for buffer, 2 caps, 65 + for events
13       * 4 byte length of "payload"
14       * 8 byte timestamp of buffer / event
15       * 8 byte duration of buffer
16       * 8 byte offset
17       * 8 byte offset_end
18       * 2 byte buffer data flags * 14 byte future extension (ABI padding)
19     *2 byte optional header crc
20         * 2 byte optional payload crc
21         * (length) payload
22         header:60 bytes
23         PROTOCOL CHANGELOG-- --
24         --------------0.1:added two bytes for buffer flags all numbers use
25         network byte ordering.