AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.3" />

.NET API 1,189,376 bytes

 HtmlVideoElement

Represents the HTML video element.
using AngleSharp.Dom.Css; using AngleSharp.Dom.Media; using AngleSharp.Extensions; using AngleSharp.Html; using AngleSharp.Services.Media; namespace AngleSharp.Dom.Html { internal sealed class HtmlVideoElement : HTMLMediaElement<IVideoInfo>, IHtmlVideoElement, IHtmlMediaElement, IHtmlElement, IElement, INode, IEventTarget, IMarkupFormattable, IParentNode, IChildNode, INonDocumentTypeChildNode, IElementCssInlineStyle, IMediaController { private readonly BoundLocation _poster; private IVideoTrackList _videos; public override IVideoTrackList VideoTracks => _videos; public int DisplayWidth { get { return GetOwnAttribute(AttributeNames.Width).ToInteger(OriginalWidth); } set { SetOwnAttribute(AttributeNames.Width, value.ToString()); } } public int DisplayHeight { get { return GetOwnAttribute(AttributeNames.Height).ToInteger(OriginalHeight); } set { SetOwnAttribute(AttributeNames.Height, value.ToString()); } } public int OriginalWidth { get { if (_resourceTask == null) return 0; if (!_resourceTask.IsCompleted || _resourceTask.Result == null) return 0; return _resourceTask.Result.Width; } } public int OriginalHeight { get { if (_resourceTask == null) return 0; if (!_resourceTask.IsCompleted || _resourceTask.Result == null) return 0; return _resourceTask.Result.Height; } } public string Poster { get { return _poster.Href; } set { _poster.Href = value; } } public HtmlVideoElement(Document owner, string prefix = null) : base(owner, Tags.Video, prefix) { _poster = new BoundLocation(this, AttributeNames.Poster); _videos = null; } } }