... | ... | @@ -7,11 +7,19 @@ Data is synchronised and organised into discrete frames that are represented by |
|
|
* **Flushing** is the saving of and transmission of the frame, completing the state transaction at that discrete time point.
|
|
|
|
|
|
### 1. Contents of a Frame
|
|
|
* **1.1** Contains up to an unsigned 32bit number of data channels.
|
|
|
* **1.2** Channels bellow 32 are fixed to `VideoFrame` type.
|
|
|
* **1.2.1** `VideoFrame` channels have a non-persistent storage status.
|
|
|
* **1.3** Channels between 32 and 64 are fixed to `AudioFrame` type.
|
|
|
* **1.3.1** `AudioFrame` channels have an accumulate recent changes storage status.
|
|
|
* **1.1** Contains up to 2^32 number of data channels.
|
|
|
* **1.2** A data channel can in principle be any type.
|
|
|
* **1.2.1** It should be possible to fix the type at runtime.
|
|
|
* **1.3** Data channels have a storage mode (persistent, non-persistent, recent).
|
|
|
* **1.3.1** Persistent data exists between frames, over time.
|
|
|
* **1.3.2** Non-persistent becomes discarded at the end of the frames lifetime.
|
|
|
* **1.3.3** Recent channels accumulate all changes since the last frame, and then discard.
|
|
|
* **1.3.4** Non-persistent channels only contain the most recent data.
|
|
|
* **1.4** Channels below 32 are fixed to `VideoFrame` type.
|
|
|
* **1.4.1** `VideoFrame` channels have a non-persistent storage status.
|
|
|
* **1.5** Channels between 32 and 64 are fixed to `AudioFrame` type.
|
|
|
* **1.5.1** `AudioFrame` channels have an accumulate recent changes storage status.
|
|
|
* **1.6** A `Frame` must include an ID and timestamp in milliseconds.
|
|
|
|
|
|
### 2. Creating and Modifying
|
|
|
* **2.1** A `Feed` class must manage the creation of frames.
|
... | ... | |