Class VideoDecoder
Inheritance
System.Object
Foundation.NSObject
VideoDecoder
Implements
System.IEquatable<Foundation.NSObject>
Foundation.INSObjectProtocol
ObjCRuntime.INativeObject
System.IDisposable
Inherited Members
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.ProcessSdpMediaDescriptionFromInput(MediaDescription, Boolean, Boolean)
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.ProcessSdpMediaDescriptionFromOutput(MediaDescription, Boolean, Boolean)
MediaPipe<IVideoOutput, IVideoOutputCollection, IVideoInput, IVideoInputCollection, VideoPipe, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>.DoProcessSdpMediaDescription(MediaDescription, Boolean, Boolean)
Foundation.NSObject.MonoMacAssembly
Foundation.NSObject.PlatformAssembly
Foundation.NSObject.Dispose()
Foundation.NSObject.IsNewRefcountEnabled()
Foundation.NSObject.MarkDirty()
Foundation.NSObject.ConformsToProtocol(System.IntPtr)
Foundation.NSObject.DangerousRelease()
Foundation.NSObject.DangerousRetain()
Foundation.NSObject.DangerousAutorelease()
Foundation.NSObject.GetNativeField(System.String)
Foundation.NSObject.SetNativeField(System.String, Foundation.NSObject)
Foundation.NSObject.BeginInvokeOnMainThread(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.InvokeOnMainThread(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.BeginInvokeOnMainThread(System.Action)
Foundation.NSObject.InvokeOnMainThread(System.Action)
Foundation.NSObject.FromObject(System.Object)
Foundation.NSObject.SetValueForKeyPath(System.IntPtr, Foundation.NSString)
Foundation.NSObject.GetHashCode()
Foundation.NSObject.Equals(System.Object)
Foundation.NSObject.Equals(Foundation.NSObject)
Foundation.NSObject.ToString()
Foundation.NSObject.Invoke(System.Action, System.Double)
Foundation.NSObject.Invoke(System.Action, System.TimeSpan)
Foundation.NSObject.Dispose(System.Boolean)
Foundation.NSObject.AddObserver(System.String, Foundation.NSKeyValueObservingOptions, System.Action<Foundation.NSObservedChange>)
Foundation.NSObject.AddObserver(Foundation.NSString, Foundation.NSKeyValueObservingOptions, System.Action<Foundation.NSObservedChange>)
Foundation.NSObject.AddObserver(Foundation.NSObject, Foundation.NSString, Foundation.NSKeyValueObservingOptions, System.IntPtr)
Foundation.NSObject.AddObserver(Foundation.NSObject, System.String, Foundation.NSKeyValueObservingOptions, System.IntPtr)
Foundation.NSObject.AutomaticallyNotifiesObserversForKey(System.String)
Foundation.NSObject.AwakeFromNib()
Foundation.NSObject.Bind(Foundation.NSString, Foundation.NSObject, System.String, Foundation.NSDictionary)
Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject)
Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject, ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.CommitEditing()
Foundation.NSObject.CommitEditing(Foundation.NSObject, ObjCRuntime.Selector, System.IntPtr)
Foundation.NSObject.Copy()
Foundation.NSObject.DidChange(Foundation.NSKeyValueChange, Foundation.NSIndexSet, Foundation.NSString)
Foundation.NSObject.DidChange(Foundation.NSString, Foundation.NSKeyValueSetMutationKind, Foundation.NSSet)
Foundation.NSObject.DidChangeValue(System.String)
Foundation.NSObject.DoesNotRecognizeSelector(ObjCRuntime.Selector)
Foundation.NSObject.ExposedBindings()
Foundation.NSObject.GetBindingInfo(Foundation.NSString)
Foundation.NSObject.GetBindingOptionDescriptions(Foundation.NSString)
Foundation.NSObject.GetBindingValueClass(Foundation.NSString)
Foundation.NSObject.GetDefaultPlaceholder(Foundation.NSObject, System.String)
Foundation.NSObject.GetDefaultPlaceholder(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.GetDictionaryOfValuesFromKeys(Foundation.NSString[])
Foundation.NSObject.GetKeyPathsForValuesAffecting(Foundation.NSString)
Foundation.NSObject.GetMethodForSelector(ObjCRuntime.Selector)
Foundation.NSObject.GetNativeHash()
Foundation.NSObject.IsEqual(Foundation.NSObject)
Foundation.NSObject.IsKindOfClass(ObjCRuntime.Class)
Foundation.NSObject.IsMemberOfClass(ObjCRuntime.Class)
Foundation.NSObject.MutableCopy()
Foundation.NSObject.ObjectDidEndEditing(Foundation.NSObject)
Foundation.NSObject.ObserveValue(Foundation.NSString, Foundation.NSObject, Foundation.NSDictionary, System.IntPtr)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, System.Double, Foundation.NSString[])
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, System.Double)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSThread, Foundation.NSObject, System.Boolean)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSThread, Foundation.NSObject, System.Boolean, Foundation.NSString[])
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject)
Foundation.NSObject.PerformSelector(ObjCRuntime.Selector, Foundation.NSObject, Foundation.NSObject)
Foundation.NSObject.PrepareForInterfaceBuilder()
Foundation.NSObject.RemoveObserver(Foundation.NSObject, Foundation.NSString, System.IntPtr)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, System.String, System.IntPtr)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.RemoveObserver(Foundation.NSObject, System.String)
Foundation.NSObject.RespondsToSelector(ObjCRuntime.Selector)
Foundation.NSObject.SetDefaultPlaceholder(Foundation.NSObject, Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetNilValueForKey(Foundation.NSString)
Foundation.NSObject.SetValueForKey(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValueForKeyPath(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValueForUndefinedKey(Foundation.NSObject, Foundation.NSString)
Foundation.NSObject.SetValuesForKeysWithDictionary(Foundation.NSDictionary)
Foundation.NSObject.Unbind(Foundation.NSString)
Foundation.NSObject.ValueForKey(Foundation.NSString)
Foundation.NSObject.ValueForKeyPath(Foundation.NSString)
Foundation.NSObject.ValueForUndefinedKey(Foundation.NSString)
Foundation.NSObject.WillChange(Foundation.NSKeyValueChange, Foundation.NSIndexSet, Foundation.NSString)
Foundation.NSObject.WillChange(Foundation.NSString, Foundation.NSKeyValueSetMutationKind, Foundation.NSSet)
Foundation.NSObject.WillChangeValue(System.String)
Foundation.NSObject.IsDirectBinding
Foundation.NSObject.SuperHandle
Foundation.NSObject.Handle
Foundation.NSObject.ClassHandle
Foundation.NSObject.Class
Foundation.NSObject.DebugDescription
Foundation.NSObject.Description
Foundation.NSObject.IsProxy
Foundation.NSObject.RetainCount
Foundation.NSObject.Self
Foundation.NSObject.Superclass
Foundation.NSObject.Zone
Foundation.NSObject.ChangeIndexesKey
Foundation.NSObject.ChangeKindKey
Foundation.NSObject.ChangeNewKey
Foundation.NSObject.ChangeNotificationIsPriorKey
Foundation.NSObject.ChangeOldKey
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: FM.LiveSwitch.dll
Syntax
public abstract class VideoDecoder : VideoPipe, IEquatable<NSObject>, INSObjectProtocol, INativeObject, IDisposable, IVideoInput, IMediaInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IInput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoOutput, IMediaOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IOutput<IVideoOutput, IVideoInput, VideoFrame, VideoBuffer, VideoBufferCollection, VideoFormat>, IVideoElement, IMediaElement, IElement
Constructors
Declaration
public VideoDecoder(VideoFormat inputFormat, VideoFormat outputFormat)
Parameters
Properties
DelayDecode
Gets a value indicating whether decoding should be delayed.
Declaration
protected bool DelayDecode { get; }
Property Value
Type |
Description |
System.Boolean |
|
DelayDecodeOnPendingKeyFrame
Gets or sets a flag indicating whether decoding should be bypassed for
incoming media packets when a key frame request has been made via
a PLI message. Default is true.
Declaration
public bool DelayDecodeOnPendingKeyFrame { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
FrameHeight
Gets the last frame height.
Declaration
public int FrameHeight { get; }
Property Value
Type |
Description |
System.Int32 |
|
FrameRate
Gets the current frame rate.
Declaration
public double FrameRate { get; }
Property Value
Type |
Description |
System.Double |
|
FramesDecoded
Gets the number of decoded frames.
Declaration
public long FramesDecoded { get; }
Property Value
Type |
Description |
System.Int64 |
|
FrameWidth
Gets the last frame width.
Declaration
public int FrameWidth { get; }
Property Value
Type |
Description |
System.Int32 |
|
Gets the maximum allowed input bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Returns -1 by default.
Declaration
public override int MaxInputBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MaxInputBitrate
MaxOutputBitrate
Gets the maximum allowed output bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Returns -1 by default.
Declaration
public override int MaxOutputBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MaxOutputBitrate
Gets the minimum allowed input bitrate, in kbps.
A value of -1 indicates unset (no maximum).
Returns -1 by default.
Declaration
public override int MinInputBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MinInputBitrate
MinOutputBitrate
Gets the minimum allowed output bitrate, in kbps.
A value of -1 indicates unset (no minimum).
Returns -1 by default.
Declaration
public override int MinOutputBitrate { get; }
Property Value
Type |
Description |
System.Int32 |
|
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.MinOutputBitrate
Methods
DoProcessFrame(VideoFrame, VideoBuffer)
Declaration
protected override void DoProcessFrame(VideoFrame frame, VideoBuffer inputBuffer)
Parameters
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoProcessFrame(FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer)
Process track stats from an input.
Declaration
protected override void DoProcessTrackStatsFromInput(MediaTrackStats trackStats)
Parameters
Overrides
FM.LiveSwitch.MediaPipe<FM.LiveSwitch.IVideoOutput, FM.LiveSwitch.IVideoOutputCollection, FM.LiveSwitch.IVideoInput, FM.LiveSwitch.IVideoInputCollection, FM.LiveSwitch.VideoPipe, FM.LiveSwitch.VideoFrame, FM.LiveSwitch.VideoBuffer, FM.LiveSwitch.VideoBufferCollection, FM.LiveSwitch.VideoFormat>.DoProcessTrackStatsFromInput(FM.LiveSwitch.MediaTrackStats)
IsKeyFrame(DataBuffer)
Determines whether a data buffer represents a keyframe.
Declaration
protected abstract bool IsKeyFrame(DataBuffer dataBuffer)
Parameters
Type |
Name |
Description |
DataBuffer |
dataBuffer |
The data buffer.
|
Returns
Type |
Description |
System.Boolean |
|
RaiseFrame(VideoFrame)
Declaration
protected override void RaiseFrame(VideoFrame frame)
Parameters
Overrides
SendKeyFrameRequest(String)
Sends a key-frame request.
Declaration
protected void SendKeyFrameRequest(string reason)
Parameters
Type |
Name |
Description |
System.String |
reason |
|
Implements
System.IEquatable<T>
Foundation.INSObjectProtocol
ObjCRuntime.INativeObject
System.IDisposable