This page was last edited on July 26, 2016, at 21:31.
Comments or questions about this documentation? Contact us for support!
This article discusses the video support that has been added to SIP Endpoint SDK. This support consists of:
The IVideoControl interface is in the Genesyslab.Sip.Endpoint.Provider.CP namespace. It allows you to work with events and information related to:
These features are discussed in the following sections.
This SDK provides methods to get or set video source–related information:
Method | Description |
---|---|
bool HasCaptureDevice(); | Returns true if the SDK has been configured to work with a camera. |
String^ GetCurrentCaptureDeviceName(); | Returns the names of the devices currently being used for video. |
array<VideoDevice^>^ GetAllSystemCaptureDevices(); | Returns the names of all available cameras known to the operating system. |
GsStatus SetCaptureDevice(int deviceId); | Picks up a capture device by its device ID and gets its status if the device has been successfully reserved. |
VideoCapability^ GetVideoCapability(int deviceId, int N); | Returns capture device video capability by device ID and capability order number. |
int GetNumberVideoCapabilities(int deviceId); | Returns a number of supported capabilities by device ID. |
The SDK also provides video frame–related events:
Method | Description |
---|---|
event EventHandler<EndpointEventArgs^>^ VideoFrameSizeReceived; | Provides notification about video frame size. |
event EventHandler<EndpointEventArgs^>^ VideoFrameDelivered; | Provides notification that a video frame has been received with size shown by VideoFrameSizeReceived. |
Video Call Control == SIP Endpoint SDK’s ICallControl interface, which is in the Genesyslab.Sip.Endpoint.Provider.Genesys namespace, has methods to dial and answer a session with or without video:
Method | Description |
---|---|
void Dial(int connectionId, String^ destination, bool video, String^ data); | Starts dialing to place an outgoing call from the connection with ID = connectionId to destination. If video=true the video is offered. |
void Answer(int sessionId, bool video); | Answers an incoming call with sessionId and if video=true the offered video is accepted. |
SIP Endpoint SDK 8.1.2 for .NET provides access to raw video frames in BGR32 format.
The following API has been added:
public enum class VideoRenderFormat { i420 = 0, YV12 = 1, YUY2 = 2, UYVY = 3, IYUV = 4, ARGB = 5, RGB24 = 6, RGB565 = 7, ARGB4444 = 8, ARGB1555 = 9, MJPEG = 10, NV12 = 11, NV21 = 12, BGRA = 13, Unknown = 99 };
You can use these methods to add and remove local and remote videos:
// Start/Stop Local Video to be shown in the Windows Form with handle GsStatus StartLocalVideo(VideoCapability^ inOut, IntPtr handle, unsigned zOrder, float left, float top, float right, float bottom); GsStatus StopLocalVideo(); // Start/Stop Remote Video for sessionId to be shown in the Windows Form with handle GsStatus StartRemoteVideo(int sessionId, IntPtr handle, unsigned zOrder, float left, float top, float right, float bottom); GsStatus StopRemoteVideo(int sessionId);
The following methods may be used to add or remove the local or remote video renderer:
// Add/Remove External Local Video Renderer void AddLocalVideoRenderer(VideoRenderFormat format); void RemoveLocalVideoRenderer();
// Add/Remove External Remote Video Renderer void AddRemoteVideoRenderer(VideoRenderFormat videoFormat, int sessionId); void RemoveRemoteVideoRenderer(int sessionId);