public void AddExtension(ExtensionId extensionId) { if (!_extensions.Contains(extensionId)) { _extensions.Add(extensionId); } }
public void Validate() { if (First.IsSpecified) { Preconditions.AtLeast(First, 1, nameof(First)); Preconditions.AtMost(First, 100, nameof(First)); } if (After.IsSpecified) { Preconditions.NotNullOrWhitespace(After.ToString(), nameof(After)); } if (ExtensionId.IsSpecified) { Preconditions.NotNullOrWhitespace(ExtensionId.ToString(), nameof(ExtensionId)); } if (Type.IsSpecified) { Preconditions.NotNullOrWhitespace(Type.ToString(), nameof(Type)); } }
private static bool CheckExtensionOccurance(IMpeg2VideoState state, ExtensionId extensionId) { if (extensionId == ExtensionId.SequenceExtensionId) { return(true); } if (extensionId == ExtensionId.PictureCodingExtensionId) { return(true); } // Extensions other than 'SequenceExtension' and 'PictureCodingExtension', // which are the first extension to follow a sequence or picture header // respectively in a valid MPEG-2 stream, can only occur after extension of // the same type (sequence or picture). Duplicates are not allowed! if (state.Picture.Initialized) { // No duplicates allowed! if (state.Picture.HasExtension(extensionId)) { return(false); } // FIXME: 'extensionId' must be a picture extension!! // Last header must be a picture extension return(IsPictureExtension(state.LastHeaderName)); } else { // No duplicates allowed! if (state.Sequence.HasExtension(extensionId)) { return(false); } // FIXME: 'extensionId' must be a sequence extension!! // Last header must be a sequence extension return(IsSequenceExtension(state.LastHeaderName)); } }
public bool HasExtension(ExtensionId extensionId) { return(_extensions.Contains(extensionId)); }