IScreenCaptureSourceList

The IScreenCaptureSourceList class. This class is returned in the getScreenCaptureSources method.

getCount

Gets the number of shareable windows and screens.

virtual unsigned int getCount() = 0;

Details

Note: This method applies to macOS and Windows only.

Returns

The number of shareable windows and screens.

getSourceInfo

Gets information about the specified shareable window or screen.

virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0;

Details

After you get IScreenCaptureSourceList, you can pass in the index value of the specified shareable window or screen to get information about that window or screen from ScreenCaptureSourceInfo.

Note: This method applies to macOS and Windows only.

Parameters

index
The index of the specified shareable window or screen. The value range is [0, getCount()).

Returns

ScreenCaptureSourceInfo

release

Releases IScreenCaptureSourceList.

virtual void release() = 0;

Details

After you get the list of shareable windows and screens, to avoid memory leaks, call this method to release IScreenCaptureSourceList instead of deleting IScreenCaptureSourceList directly.

Note: This method applies to macOS and Windows only.

ScreenCaptureSourceInfo

The information about the specified shareable window or screen. The information is returned in IScreenCaptureSourceList.

struct ScreenCaptureSourceInfo {
    ScreenCaptureSourceType type;
    view_t sourceId;
    const char* sourceName;
    ThumbImageBuffer thumbImage;
    ThumbImageBuffer iconImage;
    const char* processPath;
    const char* sourceTitle;
    bool primaryMonitor;
#if defined(_WIN32)
    Rectangle position;
    bool minimizeWindow;
    view_t sourceDisplayId;
  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr),
                              processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false), minimizeWindow(false), sourceDisplayId((view_t)-2) {}
#else
  ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {}
#endif
};

Attributes

type
The type of the shared target. See ScreenCaptureSourceType.
sourceId
The window ID for a window or the display ID for a screen.
sourceName
The name of the window or screen. UTF-8 encoding.
thumbImage
The image content of the thumbnail. See ThumbImageBuffer.
iconImage
The image content of the icon. See ThumbImageBuffer.
processPath
The process to which the window belongs. UTF-8 encoding.
sourceTitle
The title of the window. UTF-8 encoding.
primaryMonitor
Determines whether the screen is the primary display:
  • true: The screen is the primary display.
  • false: The screen is not the primary display.
position
The position of a window relative to the entire screen space (including all shareable screens). See Rectangle.
minimizeWindow
(For Windows only) Whether the window is minimized:
  • true: The window is minimized.
  • false: The window is not minimized.
sourceDisplayId
(For Windows only) Screen ID where the window is located. If the window is displayed across multiple screens, this parameter indicates the ID of the screen with which the window has the largest intersection area. If the window is located outside of the visible screens, the value of this member is -2.