// This bit, when set to 1, indicates that the data in this packet is intended for use in visualization or media server preview applications and shall not be used to generate live output.
if(source->isPreview())
return;
// 6.2.6 E1.31 Data Packet: Options
// Stream_Terminated: Bit 6
// allow E1.31 sources to terminate transmission of a stream or of
// universe synchronization without waiting for a timeout to occur.
// Any property values in an E1.31 Data Packet containing this bit
// shall be ignored.
if(source->isTerminated()){
unsubscribe(source->universe());
return;
}
// 6.2.6 E1.31 Data Packet: Options
// Force_Synchronization: Bit 5
// This bit indicates whether to lock or revert to an unsynchronized state
// when synchronization is lost. When set to 0, components that had been
// operating in a synchronized state shall not update with any new packets
// until synchronization resumes. When set to 1, once synchronization has
// been lost, components that had been operating in a synchronized state need
// not wait for a new E1.31 Synchronization Packet in order to update to the
// next E1.31 Data Packet.
if(!source->isForced()&&
universe->isSyncronized()){
return;// operate in synchronized state?
}
// 6.2.4.1 Synchronization Address Usage in an E1.31 Data Packet
// a value of 0 in the Synchronization Address indicates that the universe
// data is not synchronized.
if(source->syncAddress()!=0){
// TODO: do somthing to engage synchronization
}
// If a receiver is presented with an E1.31 Data Packet containing a Synchronization Address of 0, it shall discard any data waiting to be processed and immediately act on that Data Packet.