bump GDP to 0.1, add buffer flags
[glsdk/gstreamer0-10.git] / docs / random / gdp
1 GStreamer data protocol
3 Intended to wrap GstData objects in a line protocol for use with
4 pipe/network elements.
6 IDEAS
7 -----
8 * for transporting buffers, have a function that creates a header for
9   a given buffer to be written before the buffer.  This way, you don't lose
10   time creating a GDP buffer from the buffer
11 * allow for CRC'ing of the GstBuffer, optionally
12 * have a version number of the protocol
13 * optimizing the header for size is not useful since the GstData structure
14   already contains more than 32 bytes anyway, making up half the header size
16 PROTOCOL
17 --------
18 * 1 byte   GDP major version (0)
19 * 1 byte   GDP minor version (1)
20 * 1 byte   GDP flags
21 * 1 byte   GDP data type
22            1 for buffer, 2 caps, 65+ for events
23 * 4 byte   length of "payload"
24 * 8 byte   timestamp of buffer/event
25 * 8 byte   duration  of buffer
26 * 8 byte   offset
27 * 8 byte   offset_end
28 * 2 byte   buffer data flags
29 * 14 byte  future extension (ABI padding)
30 * 2 byte   optional header crc
31 * 2 byte   optional payload crc
32 * (length) payload
34 header: 60 bytes
36 PROTOCOL CHANGELOG
37 ------------------
38 0.1: added two bytes for buffer flags
40 all numbers use network byte ordering.