Two objects from this assembly, namely, PublishingPoint and StreamingServer objects have been already described in the previous paragraph "Groups of primitives". But there are some others to be mentioned and explained here.
ConnectedClient is an object describing a client, i.e., a connection processed in a sink. This object is also transmitted as a parameter of event StreamingServer.ClientConnected. It contains network information, sink information, and also a type of connected client.
MixingSource implements interface INetworkSource. It is a source which can select one of other sources, switch between them, or mix several sources into one output stream. Sources for this purpose can be ones from other publishing points, any supported pull source, or a file source, including an image, audio, or video file. Control of ImageSource can be performed from user code and through JSON API. MixingSource also supports creating a multi-bitrate adaptive stream, i.e., it creates several video streams with the same content but different resolution and bitrate. The same is done for audio streams. This adaptive stream may be used in HLS or MPEG-DASH servers. MixingSource also supports animated fade in and fade out, which can be utilized for seamless and smooth switching between sources.
PublishingPointParameters contains different parameters for creating a publishing point. If user creates a publishing point directly, these parameters can be set in function CreatePublishingPoint. If a publishing point is created automatically while connecting by a publisher, then user can set these extra parameters in event StreamingServer.Authorize.
StreamingServerStat is an object containing current streaming server statistics, namely, current connection count, publishing point count, CPU usage, memory usage, GPU usage, etc. It can be obtained from property StreamingServer.Stat.