Interface IInteractiveMediaSource
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
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
CanPause
Gets a value indicating whether the source is capable of pausing.
bool CanPause { get; }
Property Value
CanSeek
Gets a value indicating whether the source is capable of seeking.
bool CanSeek { get; }
Property Value
Duration
Gets the source duration, or Zero if not applicable.
TimeSpan Duration { get; }
Property Value
IsChangeable
Gets a value indicating whether the source is changeable, meaning the duration will change over time.
bool IsChangeable { get; }
Property Value
IsMonitor
Gets or sets a value indicating whether the source is monitoring file changes.
bool IsMonitor { get; set; }
Property Value
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
PlaybackRate
Gets or sets the playback rate.
double PlaybackRate { get; set; }
Property Value
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
Methods
GetMediaTypeAndIndices(int)
Gets the media type and all indices for the specified stream.
NewStreamEventArgs GetMediaTypeAndIndices(int streamIndex)
Parameters
streamIndexintThe 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
eActionRequiredEventArgsThe action required event arguments.
Events
SourceChanged
Occurs when the source has changed and duration or frame tables need to be updated.
event EventHandler SourceChanged