2004-05-20 09:56:46 +00:00
|
|
|
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
|
|
|
|
--------
|
2004-06-09 16:24:19 +00:00
|
|
|
* 1 byte GDP major version (0)
|
|
|
|
* 1 byte GDP minor version (1)
|
2004-05-20 09:56:46 +00:00
|
|
|
* 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
|
2004-06-09 16:24:19 +00:00
|
|
|
* 2 byte buffer data flags
|
|
|
|
* 14 byte future extension (ABI padding)
|
2004-05-20 09:56:46 +00:00
|
|
|
* 2 byte optional header crc
|
|
|
|
* 2 byte optional payload crc
|
|
|
|
* (length) payload
|
|
|
|
|
|
|
|
header: 60 bytes
|
|
|
|
|
2004-06-09 16:24:19 +00:00
|
|
|
PROTOCOL CHANGELOG
|
|
|
|
------------------
|
|
|
|
0.1: added two bytes for buffer flags
|
|
|
|
|
2004-05-20 09:56:46 +00:00
|
|
|
all numbers use network byte ordering.
|