OpenTok Windows SDK reference

The OpenTok Windows SDK includes the following classes:

Class Description
OpenTok Namespace-level enumerations and delegates of the OpenTok namespace.
OpenTok.AudioData Defines several parameters related to an audio sample batch.
OpenTok.AudioDevice A class that includes methods for setting the audio device to be used by publishers and subscribers.
OpenTok.AudioDevice.AudioBus An audio bus used for all publisher and subscribers. This class is used to both read and write audio samples in order for them to be rendered or sent to remote peers.
OpenTok.AudioDevice.InputAudioDevice Represents an input audio device (such as a microphone) available on the Windows system. See EnumerateInputAudioDevices and SetInputAudioDevice.
OpenTok.AudioDevice.Notifications Represents a subscription to system audio device notifications. This object sends events when a system input or output audio device is added or removed, and when the default system input or output audio device changes. This instance can be disposed when no longer used to release unmanaged resources.
OpenTok.AudioDevice.Notifications.InputAudioDeviceEventArgs Contains the arguments for audio input device events.
OpenTok.AudioDevice.Notifications.OutputAudioDeviceEventArgs Contains the arguments for audio output device events.
OpenTok.AudioDevice.OutputAudioDevice Represents an output audio device (such as headphones or speakers) available on the Windows system. See EnumerateOutputAudioDevices and SetOutputAudioDevice.
OpenTok.AudioDeviceSettings Defines the settings retrieved from the IAudioDevice.GetAudioCapturerSettings() and IAudioDevice.GetAudioRendererSettings() methods.
OpenTok.AudioTransformer Defines an audio transformation to be used in the Publisher.AudioTransformers array.
OpenTok.Capabilities See the Token creation overview.
OpenTok.Connection The Session.Connection property is set to a Connection object that represents the local user's connection. The Stream.Connection property is set to a Connection object that represents the stream publisher's connection. To initialize a session, construct a Session.Builder and call the Build() method,
OpenTok.Context Used to manage resources for Session, Publisher, and Subscriber objects.
OpenTok.DedicatedWorkerDispatcher Implementation of IDispatcher that uses a dedicated worker thread to deliver events. Available for all presentation frameworks (WinForms, WPF, etc.). Delivery order is guaranteed. Each instance of this IDispatcher uses a different thread so if using the same queue is required, create only one instan
OpenTok.DirectDispatcher Implementation of IDispatcher that doesn't schedule events at all. It uses the same thread used by the lower layer to deliver events. Available for all presentation frameworks (WinForms, WPF, etc.). Delivery order is guaranteed. Since this is a No-Op IDispatcher, it doesn't matter whether the same D
OpenTok.IAudioDevice Defines an Audio device to be used by all publishers and subscribers.
OpenTok.IceConfig This is used for the configurable TURN feature. Pass this to the Session.Builder IceConfig property.
OpenTok.IceServer An IceServer object represents a custom TURN server to be used by the client.
OpenTok.ICustomAudioTransformer Interface used to define a custom audio transformer to be used in the AudioTransformer(string name, ICustomAudioTransformer transformer) constructor.
OpenTok.ICustomVideoTransformer Interface used to define a custom vidoe transformer to be used in used in the VideoTransformer.VideoTransformer(string name, ICustomVideoTransformer transformer) constructor.
OpenTok.IDispatcher Interface for a class used by Session, Publisher, and Subscriber instances to schedule events to a different thread.
OpenTok.IVideoCapturer The OpenTok.IVideoCapturer interface.
OpenTok.IVideoFrameConsumer
OpenTok.IVideoRenderer
OpenTok.Logger Helper class that allows setting log level used by the SDK optionally providing a custom callback for log handling. This class provides a safer way manage native logging than directly invoking the native C API via DllImport. WARNING: DO call Disable() before closing the application to avoid closing
OpenTok.MMAudioDevice To use this custom audio device: Create an instance of this class. Use AudioDevice.SetCustomAudioDevice before creating the first session to inform webrtc that it will be using this class as the audio device. Use the following MMAudioDevice methods instead of the static equivalents in AudioDevice: E
OpenTok.OpenTokException Check the ErrorCode and Message properties for details on the error.
OpenTok.PreferredVideoCodecs This class lets you specify an explicit codec priority order or opt into automatic codec selection. Use this to control which codecs are prioritized during negotiation, or let the SDK decide based on internal heuristics. To use manual ordering: newPreferredVideoCodecs(newList{Codec.H264,Codec.VP8})
OpenTok.Publisher Use the Publisher.Builder class to create a Publisher instance. You can then publish the audio-video stream to an OpenTok session by calling the Session.Publish(Publisher) method. The Publisher class implements the System.IDisposable interface. Be sure to call the Dispose() method of the Publisher o
OpenTok.Publisher.AudioLevelArgs Defines arguments for AudioLevel events.
OpenTok.Publisher.AudioNetworkStats Defines an audio statistics object for the Stats property of a AudioNetworkStatsEventArgs object.
OpenTok.Publisher.AudioNetworkStatsEventArgs Defines arguments for AudioStatsUpdated events.
OpenTok.Publisher.Builder Instantiate a Builder instance by calling the Builder() constructor. Then (optionally), set properties of the Builder object. Then call the Build() method to create a Publisher object.
OpenTok.Publisher.ErrorEventArgs Defines arguments for the Error event.
OpenTok.Publisher.NetworkConditionChangedEventArgs Defines arguments for NetworkConditionChanged events raised by the publisher.
OpenTok.Publisher.PublisherMediaLinkStats Provides publisher media link statistics including local transport metrics.
OpenTok.Publisher.PublisherMediaLinkStatsEventArgs Defines arguments for MediaLinkStatsUpdated events.
OpenTok.Publisher.PublisherRtcStats Publisher.GetRtcStatsReport
OpenTok.Publisher.RtcStatsReportArgs Defines arguments for RtcStatsReport events.
OpenTok.Publisher.StreamEventArgs Defines arguments for the StreamCreated and StreamDestroyed events.
OpenTok.Publisher.VideoEventArgs Defines arguments for the VideoEnabled and VideoDisabled events.
OpenTok.Publisher.VideoLayerStats In a simulcast configuration, each entry corresponds to one independent video encoding (for example, low-, medium-, and high-resolution streams sent in parallel). For SVC (Scalable Video Coding), the publisher typically sends a single video encoding, with scalability (temporal, spatial, or both) int
OpenTok.Publisher.VideoNetworkStats Defines a video statistics object for the Stats property of a VideoNetworkStatsEventArgs object.
OpenTok.Publisher.VideoNetworkStatsEventArgs Defines arguments for VideoStatsUpdated events.
OpenTok.Publisher.VideoQualityChangedEventArgs Defines arguments for VideoQualityChanged events.
OpenTok.Session The first step in using the OpenTok Windows SDK is to instantiate a Session object using the Session.Builder class. The Session class implements the System.IDisposable interface. Be sure to call the Dispose() method of the Session object to release its resources when you no longer need the object (f
OpenTok.Session.ArchiveStartedEventArgs Defines arguments for the ArchiveStarted event.
OpenTok.Session.ArchiveStoppedEventArgs Defines arguments for the ArchiveStopped event.
OpenTok.Session.Builder Instantiate a Builder instance by calling the Builder() constructor. Then (optionally), set properties of the Builder object. Then call the Build() method to create a Session object.
OpenTok.Session.ConnectionEventArgs Defines arguments for the ConnectionCreated and ConnectionDroppedevents.
OpenTok.Session.ErrorEventArgs Defines arguments for the Error event.
OpenTok.Session.MuteForcedEventArgs Defines arguments for the MuteForced event.
OpenTok.Session.SignalEventArgs Defines arguments for the Session.Signal event.
OpenTok.Session.StreamEventArgs Defines arguments for the StreamReceived and StreamDropped events.
OpenTok.Stream The Session object sends the Session.StreamReceived event when there is a new stream in the session. This object only represents the stream at the moment of the callback. The Session sends a Session.StreamDropped event when a stream is dropped from the session (for example, when it is unpublished).
OpenTok.Subscriber Use the Subscriber.Builder class to create a Subscriber instance. Subscribers can connect to receive media when you call the Session.Subscribe(Subscriber) method. The Subscriber class implements the System.IDisposable interface. Be sure to call the Dispose() method of the Subscriber object to releas
OpenTok.Subscriber.AudioDataEventArgs Defines parameters for OpenTok.AudioData events.
OpenTok.Subscriber.AudioLevelArgs Defines arguments for AudioLevel events.
OpenTok.Subscriber.AudioNetworkStatsEventArgs Defines arguments for AudioStatsUpdated events.
OpenTok.Subscriber.Builder Instantiate a Builder instance by calling the Builder() constructor. Then (optionally), set properties of the Builder object. Then call the Build() method to create a Subscriber object.
OpenTok.Subscriber.CaptionTextArgs Defines arguments for CaptionText events.
OpenTok.Subscriber.ErrorEventArgs Defines arguments for the Error event.
OpenTok.Subscriber.NetworkConditionChangedEventArgs Defines arguments for NetworkConditionChanged events raised by the subscriber.
OpenTok.Subscriber.RtcStatsReportArgs Defines arguments for RtcStatsReport events.
OpenTok.Subscriber.SenderStats This property is deprecated. Use SubscriberMediaLinkStats instead, which provides complete network metrics including visibility into the remote publisher's transport performance and network degradation attribution.
OpenTok.Subscriber.SubscriberMediaLinkStats Provides subscriber media link statistics including local and remote transport metrics and network degradation information.
OpenTok.Subscriber.SubscriberMediaLinkStatsEventArgs Defines arguments for MediaLinkStatsUpdated events.
OpenTok.Subscriber.VideoEventArgs Defines arguments for the VideoEnabled and VideoDisabled events.
OpenTok.Subscriber.VideoNetworkStatsEventArgs Defines arguments for VideoStatsUpdated events.
OpenTok.Subscriber.VideoQualityChangedEventArgs Defines arguments for VideoQualityChanged events raised by the subscriber.
OpenTok.ThreadPoolDispatcher Implementation of IDispatcher that uses different threads from the managed ThreadPool to deliver events. Available for all presentation frameworks (WinForms, WPF, etc.). Important: Delivery order is not guaranteed. All instances of ThreadPoolDispatcher dispatch events to the same thread pool, so it
OpenTok.VideoCapturer Use VideoCapturer.EnumerateDevices() to get a list of available video devices (cameras). Use one of the CreateVideoCapturer() methods of the VideoDevice class to instantiate a VideoCapturer object. The VideoCapturer class implements the System.IDisposable interface. Be sure to call the Dispose() met
OpenTok.VideoCapturer.VideoDevice Use the VideoCapturer.EnumerateDevices() method to get a list of available video devices on the system.
OpenTok.VideoCapturer.VideoFormat Use the VideoDevice.ListFormats() method to get a list of VideoFormat objects for a device.
OpenTok.VideoCaptureSettings Defines the settings passed into the VideoCapturer.UpdateCaptureSettings(ref VideoCaptureSettings) method.
OpenTok.VideoFrame Defines a video frame for the IVideoRenderer.RenderFrame(VideoFrame) and IVideoFrameConsumer.Consume(VideoFrame) methods.
OpenTok.VideoRenderer This implementation renders videos to a Windows Presentation Framework control. The VideoRenderer object is a subclass of System.Windows.Controls.Control. You can add this element to your view hierarchy.
OpenTok.VideoTransformer Defines a video transformation to be used in the Publisher.VideoTransformers array.
OpenTok.WinFormsDispatcher Implementation of IDispatcher that uses the Windows Forms Main/UI thread to dispatch events. Available only for Windows Forms applications. Delivery order is guaranteed. All instances of WinFormsDispatcher dispatch events to the Main Application thread, so it doesn't matter whether the same WinForms
OpenTok.WPFDispatcher Implementation of IDispatcher that uses the WPF Main/UI thread to dispatch events. Available only for WPF applications. Delivery order is guaranteed. All instances of WPFDispatcher dispatch events to the Main Application thread, so it doesn't matter whether the same WPFDispatcher is always used or a
WinFormsRenderer Namespace-level enumerations and delegates of the WinFormsRenderer namespace.
WinFormsRenderer.WinFormsVideoRenderer The WinFormsRenderer.WinFormsVideoRenderer class.