Skip to main content

GameCaptureSourceBuilder

Struct GameCaptureSourceBuilder 

Source
pub struct GameCaptureSourceBuilder { /* private fields */ }
Available on Windows only.
Expand description

A source to capture a game or fullscreen application.

Use GameCaptureSourceBuilder::get_windows to get a list of windows that can be captured (feature window-list needs to be enabled). Requires OBS to be running with administrator privileges to capture certain games.

§Important Notice

This source fails to capture if another instance (OBS studio, another instance of your program, etc.) has a game capture source for the same game/application active. If the window can be captured can be checked using GameCaptureSourceBuilder::is_window_in_use_by_other_instance (feature window-list needs to be enabled).

Implementations§

Source§

impl GameCaptureSourceBuilder

Source

pub fn set_capture_mode(self, capture_mode: ObsGameCaptureMode) -> Self

Sets the capture mode for the game capture source. Look at doc for ObsGameCaptureMode

Source

pub fn set_window_raw<T: Into<ObsString> + Sync + Send>( self, window_raw: T, ) -> Self

Sets the window to capture.

§Arguments
  • window - The window to capture, represented as ObsString. Must be in the format of an obs window id
§Returns

The updated WindowCaptureSourceBuilder instance.

Source

pub fn set_priority(self, priority: ObsWindowPriority) -> Self

Window Match Priority

Source

pub fn set_sli_compatability(self, sli_compatability: bool) -> Self

SLI/Crossfire Capture Mode (Slow)

Source

pub fn set_capture_cursor(self, capture_cursor: bool) -> Self

Whether the cursor should be captured

Source

pub fn set_allow_transparency(self, allow_transparency: bool) -> Self

If transparency of windows should be allowed

Source

pub fn set_premultiplied_alpha(self, premultiplied_alpha: bool) -> Self

Premultiplied Alpha

Source

pub fn set_limit_framerate(self, limit_framerate: bool) -> Self

Limit capture framerate

Source

pub fn set_capture_overlays(self, capture_overlays: bool) -> Self

Capture third party overlays (such as steam overlays)

Source

pub fn set_anti_cheat_hook(self, anti_cheat_hook: bool) -> Self

Use anti-cheat compatibility hook

Source

pub fn set_hook_rate(self, hook_rate: ObsHookRate) -> Self

Hook rate (Ranging from slow to fastest)

Source

pub fn set_rgb10a2_space(self, rgb10a2_space: ObsGameCaptureRgbaSpace) -> Self

The color space to capture in

Source§

impl GameCaptureSourceBuilder

Source

pub fn get_windows( mode: WindowSearchMode, ) -> Result<Vec<WindowInfo>, ObsSimpleError>

Gets a list of windows that can be captured by this source.

Source

pub fn is_window_in_use_by_other_instance(window_pid: u32) -> Result<bool>

Checks if a window with the given process ID can be captured by this source. This does not guarantee that the window can be captured, only that it is not black

Source

pub fn set_window(self, window: &WindowInfo) -> Self

Sets the window to capture.

§Arguments
  • window - The window to capture. A list of available windows can be retrieved using GameCaptureSourceBuilder::get_windows
§Returns

The updated GameCaptureSourceBuilder instance.

Source§

impl GameCaptureSourceBuilder

Source

pub fn set_capture_audio( self, capture_audio: bool, ) -> Result<Self, ObsSimpleError>

Trait Implementations§

Source§

impl Debug for GameCaptureSourceBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ObsObjectBuilder for GameCaptureSourceBuilder

Source§

fn new<T: Into<ObsString> + Send + Sync>( name: T, runtime: ObsRuntime, ) -> Result<Self, ObsError>

Source§

fn runtime(&self) -> &ObsRuntime

Source§

fn get_settings(&self) -> &ObsData

Source§

fn get_settings_updater(&mut self) -> &mut ObsDataUpdater

Source§

fn get_hotkeys(&self) -> &ObsData

Source§

fn get_hotkeys_updater(&mut self) -> &mut ObsDataUpdater

Source§

fn get_name(&self) -> ObsString

Returns the name of the source.
Source§

fn get_id() -> ObsString

Returns the ID of the source.
Source§

fn object_build(self) -> Result<ObjectInfo, ObsError>

Source§

impl ObsSourceBuilder for GameCaptureSourceBuilder

Source§

type T = GameCaptureSource

Source§

fn build(self) -> Result<Self::T, ObsError>
where Self: Sized,

§

fn add_to_scene( self, scene: &mut ObsSceneRef, ) -> Result<ObsSceneItemRef<Self::T>, ObsError>
where Self: Sized,

Both items are returned: the source and the scene item it was added as. You can safely drop these items, they are stored within the scene if you don’t need them.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.