Table of Contents

Class UniversalSourceSettingsV2

Namespace
VisioForge.Core.Types.X.Sources
Assembly
VisioForge.Core.dll

Universal source settings (V2).

public class UniversalSourceSettingsV2 : IMediaPlayerBaseSourceSettings, IVideoCaptureBaseVideoSourceSettings, IVideoMixerSource, IVideoSourceSettings, IMediaBlockSettings

Inheritance

Implements

Inherited Members

Properties

Context

Gets or sets the context for structured logging.

public BaseContext Context { get; set; }

Property Value

BaseContext

RenderAudio

The render audio.

public bool RenderAudio { get; }

Property Value

bool

RenderSubtitle

The render subtitle.

public bool RenderSubtitle { get; }

Property Value

bool

RenderVideo

The render video.

public bool RenderVideo { get; }

Property Value

bool

StartPosition

Start position.

public TimeSpan? StartPosition { get; set; }

Property Value

TimeSpan?

StopPosition

Stop position.

public TimeSpan? StopPosition { get; set; }

Property Value

TimeSpan?

URI

Gets the URI.

public Uri URI { get; }

Property Value

Uri

VideoCustomFrameRate

Gets or sets the video custom frame rate. If not set, then source frame rate will be used. Video frames will be dropped or duplicated to match this frame rate.

public VideoFrameRate? VideoCustomFrameRate { get; set; }

Property Value

VideoFrameRate?

VideoFlipRotate

Gets or sets an optional videoflip applied right before each video output pad. Defaults to null (no flip). Set to VisioForge.Core.Types.X.VideoEffects.VideoFlipRotateMethod.Automatic to make portrait phone recordings (which carry an image-orientation tag) play upright without wiring a separate FlipRotateBlock into the pipeline.

public VideoFlipRotateMethod? VideoFlipRotate { get; set; }

Property Value

VideoFlipRotateMethod?

Methods

CheckURI()

Checks the URI.

public bool CheckURI()

Returns

bool

bool.

CreateAsync(string, bool, bool, bool, bool)

Create as an asynchronous operation.

public static Task<UniversalSourceSettingsV2> CreateAsync(string filename, bool renderVideo = true, bool renderAudio = true, bool renderSubtitle = false, bool deepDiscovery = false)

Parameters

filename string

The file name.

renderVideo bool

if set to true render video.

renderAudio bool

if set to true render audio.

renderSubtitle bool

if set to true [render subtitle].

deepDiscovery bool

if set to true use deep discovery mode with uridecodebin for more thorough media analysis.

Returns

Task<UniversalSourceSettingsV2>

A Task<UniversalSourceSettingsV2> representing the asynchronous operation.

CreateAsync(string, bool, bool, bool, bool, BaseContext)

Create as an asynchronous operation, optionally routing log output through the supplied context.

public static Task<UniversalSourceSettingsV2> CreateAsync(string filename, bool renderVideo, bool renderAudio, bool renderSubtitle, bool deepDiscovery, BaseContext context)

Parameters

filename string

The file name.

renderVideo bool

if set to true render video.

renderAudio bool

if set to true render audio.

renderSubtitle bool

if set to true [render subtitle].

deepDiscovery bool

if set to true use deep discovery mode with uridecodebin for more thorough media analysis.

context BaseContext

Optional context for structured logging. When null, output falls back to Trace.

Returns

Task<UniversalSourceSettingsV2>

A Task<UniversalSourceSettingsV2> representing the asynchronous operation.

CreateAsync(Uri, bool, bool, bool, bool, bool)

Create as an asynchronous operation.

public static Task<UniversalSourceSettingsV2> CreateAsync(Uri uri, bool renderVideo = true, bool renderAudio = true, bool renderSubtitle = false, bool ignoreMediaInfoReader = false, bool deepDiscovery = false)

Parameters

uri Uri

The URI.

renderVideo bool

if set to true render video.

renderAudio bool

if set to true render audio.

renderSubtitle bool

if set to true render subtitle.

ignoreMediaInfoReader bool

if set to true ignore media information reader.

deepDiscovery bool

if set to true use deep discovery mode with uridecodebin for more thorough media analysis.

Returns

Task<UniversalSourceSettingsV2>

A Task<UniversalSourceSettingsV2> representing the asynchronous operation.

CreateAsync(Uri, bool, bool, bool, bool, bool, BaseContext)

Create as an asynchronous operation, optionally routing log output through the supplied context.

public static Task<UniversalSourceSettingsV2> CreateAsync(Uri uri, bool renderVideo, bool renderAudio, bool renderSubtitle, bool ignoreMediaInfoReader, bool deepDiscovery, BaseContext context)

Parameters

uri Uri

The URI.

renderVideo bool

if set to true render video.

renderAudio bool

if set to true render audio.

renderSubtitle bool

if set to true render subtitle.

ignoreMediaInfoReader bool

if set to true ignore media information reader.

deepDiscovery bool

if set to true use deep discovery mode with uridecodebin for more thorough media analysis.

context BaseContext

Optional context for structured logging. When null, output falls back to Trace.

Returns

Task<UniversalSourceSettingsV2>

A Task<UniversalSourceSettingsV2> representing the asynchronous operation.

CreateBlock()

Creates the block.

public MediaBlock CreateBlock()

Returns

MediaBlock

MediaBlock.

GetInfo()

Gets the file information.

public MediaFileInfo GetInfo()

Returns

MediaFileInfo

MediaFileInfo.

Remarks

If VideoCustomFrameRate is set you'll have this value as a frame rate.

ReadInfoAsync()

Read information as an asynchronous operation.

public Task<MediaFileInfo> ReadInfoAsync()

Returns

Task<MediaFileInfo>

A Task<MediaFileInfo> representing the asynchronous operation.

ReadInfoAsync(bool)

Read information as an asynchronous operation.

public Task<MediaFileInfo> ReadInfoAsync(bool deepDiscovery)

Parameters

deepDiscovery bool

if set to true use deep discovery mode with uridecodebin for more thorough media analysis.

Returns

Task<MediaFileInfo>

A Task<MediaFileInfo> representing the asynchronous operation.

ToString()

Returns a diagnostic string for these settings. Sensitive values (Samba password, password fragments embedded in URI userinfo) are masked so accidental ToString() calls in logs / exception messages don't leak credentials. The bare URI string itself is intentionally not included for the same reason — UNC and rtsp:// URLs frequently embed credentials in user:pass@host form and we cannot safely rebuild them without parsing the platform-specific URI shape.

public override string ToString()

Returns

string

A sanitized diagnostic representation.