SplitCam plugins  1.0.0
Get your own video or still image source as an integral part of SplitCam user interface
Classes | Enumerations | Functions | Variables
splitcam::plugin Namespace Reference

splitcam::plugin namespace More...

Classes

class  IEventHandler
 
class  IImageSource
 
class  IPlugin
 
class  ISource
 
class  IWebSource
 
struct  Version
 

Enumerations

enum  PluginType {
  undefined, imageSource, webSource, imageProcessor,
  audioSource
}
 
enum  ImageFormat { imageRGB24, imageRGBA }
 

Functions

const GUID getPluginInterfaceId ()
 
const wchar_t * getPluginId ()
 
const wchar_t * getPluginName ()
 
const wchar_t * getPluginProvider ()
 
const splitcam::plugin::Version getPluginVersion ()
 
splitcam::plugin::PluginType getType ()
 
bool init ()
 
void release ()
 
const GUID getEventsInterfaceId ()
 
void onLoad ()
 
void onUnload ()
 
void onCanvasSize (size_t width, size_t height)
 
void onPosition (const wchar_t *srcId, int x, int y, size_t width, size_t height)
 
const GUID getSourceInterfaceId ()
 
const wchar_t * getSourceName ()
 
void getSourceSize (size_t &width, size_t &height)
 
void setCanvasSize (size_t width, size_t height)
 
void openSource (const wchar_t *srcId)
 
void closeSource (const wchar_t *srcId)
 
void pauseSource (const wchar_t *srcId, bool val)
 
const GUID getImageInterfaceId ()
 
splitcam::plugin::ImageFormat getImageFormat ()
 
void setDataCallback (splitcam::plugin::IImageSource::DataCallback cb, void *param)
 
const GUID getWebInterfaceId ()
 
const wchar_t * getWebUrl ()
 

Variables

static const GUID IPlugin_v1
 IPlugin interface identifier {A434FC43-EED2-4EAE-A792-4B92CD916FA1}. More...
 
static const GUID ISource_v1
 ISource interface identifier {EFEDF7CC-0795-4C38-A749-DDEA80E9DF1A}. More...
 
static const GUID IImageSource_v1
 IImageSource interface identifier {D5FE39E8-2501-4D87-8379-E82AF98D2283}. More...
 
static const GUID IWebSource_v1
 IWebSource interface identifier {ACAF8AD1-D7B3-4B6C-A374-E79A718906F0}. More...
 
static const GUID IEventHandler_v1
 IEventHandler interface identifier {7442FD68-30F1-4D19-97C2-8003014468FD}. More...
 

Detailed Description

splitcam::plugin namespace

It is important that all exported functions have the nested splitcam::plugin:: namespace predicate at the beginning of their names. For example, the function bool init() should be exported with a name splitcam::plugin::init.

Enumeration Type Documentation

◆ ImageFormat

The format of images provided by this plugin

Currently only two image formats are supported: opaque RGB24, and transparent or semitransparent RGBA format.

◆ PluginType

Possible plugin types supported by SplitCam

If your plugin provides an image or video to be added to SplitCam user interface it should return imageSource from getType() function. And it should implement and export IImageSource function set.

Variable Documentation

◆ IEventHandler_v1

splitcam::plugin::IEventHandler_v1
static
Initial value:
=
{ 0x7442fd68, 0x30f1, 0x4d19, { 0x97, 0xc2, 0x80, 0x3, 0x1, 0x44, 0x68, 0xfd } }

IEventHandler interface identifier {7442FD68-30F1-4D19-97C2-8003014468FD}.

Depending on which version of IEventHandler interface your code realizes it should return the corresponding version identifier when requested from getEventsInterfaceId function.

◆ IImageSource_v1

splitcam::plugin::IImageSource_v1
static
Initial value:
=
{ 0xd5fe39e8, 0x2501, 0x4d87, { 0x83, 0x79, 0xe8, 0x2a, 0xf9, 0x8d, 0x22, 0x83 } }

IImageSource interface identifier {D5FE39E8-2501-4D87-8379-E82AF98D2283}.

Depending on which version of IImageSource interface your code realizes it should return the corresponding version identifier when requested from getImageInterfaceId() function.

◆ IPlugin_v1

splitcam::plugin::IPlugin_v1
static
Initial value:
=
{ 0xa434fc43, 0xeed2, 0x4eae, { 0xa7, 0x92, 0x4b, 0x92, 0xcd, 0x91, 0x6f, 0xa1 } }

IPlugin interface identifier {A434FC43-EED2-4EAE-A792-4B92CD916FA1}.

Depending on which version of IPlugin interface your code realizes it should return the corresponding version identifier when requested from getPluginInterfaceId function.

◆ ISource_v1

splitcam::plugin::ISource_v1
static
Initial value:
=
{ 0xefedf7cc, 0x795, 0x4c38, { 0xa7, 0x49, 0xdd, 0xea, 0x80, 0xe9, 0xdf, 0x1a } }

ISource interface identifier {EFEDF7CC-0795-4C38-A749-DDEA80E9DF1A}.

Depending on which version of ISource interface your code realizes it should return the corresponding version identifier when requested from getSourceInterfaceId() function.

◆ IWebSource_v1

splitcam::plugin::IWebSource_v1
static
Initial value:
=
{ 0xacaf8ad1, 0xd7b3, 0x4b6c, { 0xa3, 0x74, 0xe7, 0x9a, 0x71, 0x89, 0x6, 0xf0 } }

IWebSource interface identifier {ACAF8AD1-D7B3-4B6C-A374-E79A718906F0}.

Depending on which version of IWebSource interface your code realizes it should return the corresponding version identifier when requested from getWebInterfaceId() function.