Class VideoDepacketizer<TFragment>
Inheritance
System.Object
Foundation.NSObject
VideoDepacketizer<TFragment>
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.MonoTouchAssembly
Foundation.NSObject.PlatformAssembly
Foundation.NSObject.Alloc(ObjCRuntime.Class)
Foundation.NSObject.Init()
Foundation.NSObject.InvokeInBackground(System.Action)
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.CancelPreviousPerformRequest(Foundation.NSObject)
Foundation.NSObject.CancelPreviousPerformRequest(Foundation.NSObject, ObjCRuntime.Selector, Foundation.NSObject)
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.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.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.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.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.AccessibilityAttributedUserInputLabels
Foundation.NSObject.AccessibilityRespondsToUserInteraction
Foundation.NSObject.AccessibilityTextualContext
Foundation.NSObject.AccessibilityUserInputLabels
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 VideoDepacketizer<TFragment> : 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 where TFragment : VideoFragment
Type Parameters
Name |
Description |
TFragment |
|
Constructors
VideoDepacketizer(IVideoOutput)
Declaration
public VideoDepacketizer(IVideoOutput input)
Parameters
Declaration
public VideoDepacketizer(VideoFormat format)
Parameters
Declaration
public VideoDepacketizer(VideoFormat inputFormat, VideoFormat outputFormat)
Parameters
Properties
AllowDiagnosticTimer
Gets whether this pipe is allowed to be timed.
Declaration
protected override bool AllowDiagnosticTimer { get; }
Property Value
Type |
Description |
System.Boolean |
|
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>.AllowDiagnosticTimer
DelayDepacketize
Gets a value indicating whether depacketizing should be delayed.
Declaration
protected bool DelayDepacketize { get; }
Property Value
Type |
Description |
System.Boolean |
|
DelayDepacketizeOnPendingKeyFrame
Gets or sets a flag indicating whether depacketizing 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 DelayDepacketizeOnPendingKeyFrame { get; set; }
Property Value
Type |
Description |
System.Boolean |
|
FramesCorrupted
Gets the number of corrupted frames.
Declaration
public long FramesCorrupted { get; }
Property Value
Type |
Description |
System.Int64 |
|
FramesDropped
Gets the number of dropped frames.
Declaration
public long FramesDropped { get; }
Property Value
Type |
Description |
System.Int64 |
|
FramesReceived
Gets the number of received frames.
Declaration
public long FramesReceived { get; }
Property Value
Type |
Description |
System.Int64 |
|
Methods
Creates a fragment from a data buffer.
Declaration
protected abstract TFragment DoCreateFragment(RtpPacketHeader header, DataBuffer dataBuffer)
Parameters
Returns
Type |
Description |
TFragment |
A fragment.
|
DoDestroy()
Declaration
protected override void DoDestroy()
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>.DoDestroy()
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)
IsGapAllowed(TFragment, TFragment)
Determines whether a gap between two fragments is allowed.
Declaration
protected virtual bool IsGapAllowed(TFragment fragment, TFragment lastFragment)
Parameters
Type |
Name |
Description |
TFragment |
fragment |
The fragment.
|
TFragment |
lastFragment |
The last fragment.
|
Returns
Type |
Description |
System.Boolean |
true if the gap is allowed; otherwise, false .
|
IsKeyFrame(DataBuffer)
Determines whether a buffer represents the start of a keyframe.
Declaration
protected abstract bool IsKeyFrame(DataBuffer inputBuffer)
Parameters
Type |
Name |
Description |
DataBuffer |
inputBuffer |
The buffer.
|
Returns
Type |
Description |
System.Boolean |
true if the buffer represents the start of a keyframe; otherwise, false .
|
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