Table of Contents

Interface IInteractiveMediaSource

Namespace
VAST.Media
Assembly
VAST.Common.dll

Defines the contract for an interactive media source such as a file, VOD, or similar seekable content.

public interface IInteractiveMediaSource : IMediaSource, IReferenceable, IDisposable
Inherited Members

Properties

AllowEos

Gets or sets a value indicating whether the source will stop on end of stream.

bool AllowEos { get; set; }

Property Value

bool

Available

Gets a value indicating whether the source actually supports interactive features for the currently opened URI. Used in classes that can handle both live and interactive content.

bool Available { get; }

Property Value

bool

CanPause

Gets a value indicating whether the source is capable of pausing.

bool CanPause { get; }

Property Value

bool

CanSeek

Gets a value indicating whether the source is capable of seeking.

bool CanSeek { get; }

Property Value

bool

Duration

Gets the source duration, or Zero if not applicable.

TimeSpan Duration { get; }

Property Value

TimeSpan

IsChangeable

Gets a value indicating whether the source is changeable, meaning the duration will change over time.

bool IsChangeable { get; }

Property Value

bool

IsMonitor

Gets or sets a value indicating whether the source is monitoring file changes.

bool IsMonitor { get; set; }

Property Value

bool

Loop

Gets or sets a value indicating whether playback should loop endlessly. When true, seek and pause are not available.

bool Loop { get; set; }

Property Value

bool

PlaybackRate

Gets or sets the playback rate.

double PlaybackRate { get; set; }

Property Value

double

Remarks

  • A value of 1 maintains normal playback speed.
  • A value greater than 1 indicates fast forward playback, with possible I-frames only stream if supported.
  • A value in the (0..1) range indicates slow motion playback.
  • A value less than or equal to -1 indicates rewind playback, with possible I-frames only stream if supported.
  • A value of MaxValue causes the source to push samples as quickly as possible, ignoring timestamps.

Position

Gets or sets the current playback position. Only applicable when seeking is supported.

TimeSpan Position { get; set; }

Property Value

TimeSpan

Methods

GetMediaTypeAndIndices(int)

Gets the media type and all indices for the specified stream.

NewStreamEventArgs GetMediaTypeAndIndices(int streamIndex)

Parameters

streamIndex int

The stream index to get the media type for.

Returns

NewStreamEventArgs

The stream descriptor containing the media type and all indices.

Pause()

Pauses the pushing of media data.

void Pause()

QueueRequiredAction(ActionRequiredEventArgs)

Queues a required action for further processing.

void QueueRequiredAction(ActionRequiredEventArgs e)

Parameters

e ActionRequiredEventArgs

The action required event arguments.

Events

SourceChanged

Occurs when the source has changed and duration or frame tables need to be updated.

event EventHandler SourceChanged

Event Type

EventHandler