Concepts

SyncNuke divides a synchronized playback system into three main responsibilities.

Component Responsibility
Player integration Observe playback state and expose player controls.
Synchronization client Coordinate a session using a synchronization protocol.
Networking layer Handle communication separately from player and synchronization logic.

A protocol defines how synchronization information is exchanged. A transport carries that information. Sharing a player abstraction does not imply that two wire protocols interoperate.

Reference material

Architecture overview and SyncManager.