Meta.Vlc.Wpf The manager of LibVlc api. Release VLC instance. The path of LibVlc dlls. The options when initialize LibVlc. The list of VLC. Default VLC instance. The state of VLC initialization. Initialize the VLC with path of LibVlc. Initialize the VLC with path of LibVlc and options. Pixel chroma type. 5 bit for each RGB channel, no alpha channel, BGRA5550(15bit / pixel). 5 bit Red, 6 bit Green and 5 bit Blue, no alpha channel, BGRA5650(16bit / pixel). 8 bit for each RGB channel, no alpha channel, BGRA8880(24bit / pixel). 8 bit per RGB channel and 8 bit unused, no alpha channel, BGRA8880(32bit / pixel). 8 bit for each BGRA channel, RGBA8888(32bit / pixel). 12 bits per pixel planar format with Y plane followed by V and U planes. Same as YV12 but V and U are swapped. 12 bits per pixel planar format with Y plane and interleaved UV plane. 16 bits per pixel packed YUYV array. 16 bits per pixel packed UYVY array. Same as I420, mainly used with MJPG codecs. Same as YUY2, mainly used with MJPG codecs. Define the behavior when media is ended. Do nothing, player's state is Ended, you need stop the player to play current media again. Stop the player. Play current media again. Default behavior, same as Stop. Some extension method. Return the value from the selector, unless the object is null. Then return the default value. Combine path to src path. Check a path is a drive root directory or not. Convert a path to uri. Format a path with '/' and ends with '/'. Quickly async invoke a action. Indicates that the value of the marked element could be null sometimes, so the check for null is necessary before its usage. [CanBeNull] public object Test() { return null; } public void UseTest() { var p = Test(); var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' } Indicates that the value of the marked element could never be null. [NotNull] public object Foo() { return null; // Warning: Possible 'null' assignment } Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task and Lazy classes to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property can never be null. Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task and Lazy classes to indicate that the value of a collection item, of the Task.Result property or of the Lazy.Value property can be null. Indicates that the marked method builds string by format pattern and (optional) arguments. Parameter, which contains format string, should be given in constructor. The format string should be in -like form. [StringFormatMethod("message")] public void ShowError(string message, params object[] args) { /* do something */ } public void Foo() { ShowError("Failed: {0}"); // Warning: Non-existing argument in format string } Specifies which parameter of an annotated method should be treated as format-string For a parameter that is expected to be one of the limited set of values. Specify fields of which type should be used as values for this parameter. Indicates that the function argument should be string literal and match one of the parameters of the caller function. For example, ReSharper annotates the parameter of . public void Foo(string param) { if (param == null) throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol } Indicates that the method is contained in a type that implements System.ComponentModel.INotifyPropertyChanged interface and this method is used to notify that some property value changed. The method should be non-static and conform to one of the supported signatures: NotifyChanged(string) NotifyChanged(params string[]) NotifyChanged{T}(Expression{Func{T}}) NotifyChanged{T,U}(Expression{Func{T,U}}) SetProperty{T}(ref T, T, string) public class Foo : INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; [NotifyPropertyChangedInvocator] protected virtual void NotifyChanged(string propertyName) { ... } private string _name; public string Name { get { return _name; } set { _name = value; NotifyChanged("LastName"); /* Warning */ } } } Examples of generated notifications: NotifyChanged("Property") NotifyChanged(() => Property) NotifyChanged((VM x) => x.Property) SetProperty(ref myField, value, "Property") Describes dependency between method input and output.

Function Definition Table syntax:

FDT ::= FDTRow [;FDTRow]* FDTRow ::= Input => Output | Output <= Input Input ::= ParameterName: Value [, Input]* Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} Value ::= true | false | null | notnull | canbenull If method has single input parameter, it's name could be omitted.
Using halt (or void/nothing, which is the same) for method output means that the methos doesn't return normally.
canbenull annotation is only applicable for output parameters.
You can use multiple [ContractAnnotation] for each FDT row, or use single attribute with rows separated by semicolon.
[ContractAnnotation("=> halt")] public void TerminationMethod() [ContractAnnotation("halt <= condition: false")] public void Assert(bool condition, string text) // regular assertion method [ContractAnnotation("s:null => true")] public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() // A method that returns null if the parameter is null, // and not null if the parameter is not null [ContractAnnotation("null => null; notnull => notnull")] public object Transform(object data) [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")] public bool TryParse(string s, out Person result)
Indicates that marked element should be localized or not. [LocalizationRequiredAttribute(true)] public class Foo { private string str = "my string"; // Warning: Localizable string } Indicates that the value of the marked type (or its derivatives) cannot be compared using '==' or '!=' operators and Equals() should be used instead. However, using '==' or '!=' for comparison with null is always permitted. [CannotApplyEqualityOperator] class NoEquality { } class UsesNoEquality { public void Test() { var ca1 = new NoEquality(); var ca2 = new NoEquality(); if (ca1 != null) { // OK bool condition = ca1 == ca2; // Warning } } } When applied to a target attribute, specifies a requirement for any type marked with the target attribute to implement or inherit specific type or types. [BaseTypeRequired(typeof(IComponent)] // Specify requirement public class ComponentAttribute : Attribute { } [Component] // ComponentAttribute requires implementing IComponent interface public class MyComponent : IComponent { } Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), so this symbol will not be marked as unused (as well as by other usage inspections). Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes as unused (as well as by other usage inspections) Only entity marked with attribute considered used. Indicates implicit assignment to a member. Indicates implicit instantiation of a type with fixed constructor signature. That means any unused constructor parameters won't be reported as such. Indicates implicit instantiation of a type. Specify what is considered used implicitly when marked with or . Members of entity marked with attribute are considered used. Entity marked with attribute and all its members considered used. This attribute is intended to mark publicly available API which should not be removed and so is treated as used. Tells code analysis engine if the parameter is completely handled when the invoked method is on stack. If the parameter is a delegate, indicates that delegate is executed while the method is executed. If the parameter is an enumerable, indicates that it is enumerated while the method is executed. Indicates that a method does not make any observable state changes. The same as System.Diagnostics.Contracts.PureAttribute. [Pure] private int Multiply(int x, int y) { return x * y; } public void Foo() { const int a = 2, b = 2; Multiply(a, b); // Waring: Return value of pure method is not used } Indicates that a parameter is a path to a file or a folder within a web project. Path can be relative or absolute, starting from web root (~). An extension method marked with this attribute is processed by ReSharper code completion as a 'Source Template'. When extension method is completed over some expression, it's source code is automatically expanded like a template at call site. Template method body can contain valid source code and/or special comments starting with '$'. Text inside these comments is added as source code when the template is applied. Template parameters can be used either as additional method parameters or as identifiers wrapped in two '$' signs. Use the attribute to specify macros for parameters. In this example, the 'forEach' method is a source template available over all values of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: [SourceTemplate] public static void forEach<T>(this IEnumerable<T> xs) { foreach (var x in xs) { //$ $END$ } } Allows specifying a macro for a parameter of a source template. You can apply the attribute on the whole method or on any of its additional parameters. The macro expression is defined in the property. When applied on a method, the target template parameter is defined in the property. To apply the macro silently for the parameter, set the property value = -1. Applying the attribute on a source template method: [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] public static void forEach<T>(this IEnumerable<T> collection) { foreach (var item in collection) { //$ $END$ } } Applying the attribute on a template method parameter: [SourceTemplate] public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { /*$ var $x$Id = "$newguid$" + x.ToString(); x.DoSomething($x$Id); */ } Allows specifying a macro that will be executed for a source template parameter when the template is expanded. Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. If the target parameter is used several times in the template, only one occurrence becomes editable; other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, use values >= 0. To make the parameter non-editable when the template is expanded, use -1. > Identifies the target parameter of a source template if the is applied on a template method. ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC action. If applied to a method, the MVC action name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC area. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC controller. If applied to a method, the MVC controller name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(String, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC partial view. If applied to a method, the MVC partial view name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String). ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method. ASP.NET MVC attribute. Indicates that a parameter is an MVC display template. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template. Use this attribute for custom wrappers similar to System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String). ASP.NET MVC attribute. Indicates that a parameter is an MVC template. Use this attribute for custom wrappers similar to System.ComponentModel.DataAnnotations.UIHintAttribute(System.String). ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC view. If applied to a method, the MVC view name is calculated implicitly from the context. Use this attribute for custom wrappers similar to System.Web.Mvc.Controller.View(Object). ASP.NET MVC attribute. When applied to a parameter of an attribute, indicates that this parameter is an MVC action name. [ActionName("Foo")] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = Url.Action("Foo"); // OK return RedirectToAction("Bar"); // Error: Cannot resolve action } Razor attribute. Indicates that a parameter or a method is a Razor section. Use this attribute for custom wrappers similar to System.Web.WebPages.WebPageBase.RenderSection(String). Indicates how method, constructor invocation or property access over collection type affects content of the collection. Method does not use or modify content of the collection. Method only reads content of the collection but does not modify it. Method can change content of the collection but does not add new elements. Method can add new elements to the collection. Indicates that the marked method is assertion method, i.e. it halts control flow if one of the conditions is satisfied. To set the condition, mark one of the parameters with attribute. Indicates the condition parameter of the assertion method. The method itself should be marked by attribute. The mandatory argument of the attribute is the assertion type. Specifies assertion type. If the assertion method argument satisfies the condition, then the execution continues. Otherwise, execution is assumed to be halted. Marked parameter should be evaluated to true. Marked parameter should be evaluated to false. Marked parameter should be evaluated to null value. Marked parameter should be evaluated to not null value. Indicates that the marked method unconditionally terminates control flow execution. For example, it could unconditionally throw exception. Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select, .Where). This annotation allows inference of [InstantHandle] annotation for parameters of delegate type by analyzing LINQ method chains. Indicates that IEnumerable, passed as parameter, is not enumerated. Indicates that parameter is regular expression pattern. XAML attribute. Indicates the type that has ItemsSource property and should be treated as ItemsControl-derived type, to enable inner items DataContext type resolve. XAML attibute. Indicates the property of some BindingBase-derived type, that is used to bind some item of ItemsControl-derived type. This annotation will enable the DataContext type resolve for XAML bindings for such properties. Property should have the tree ancestor of the ItemsControl type or marked with the attribute. Prevents the Member Reordering feature from tossing members of the marked class. The attribute must be mentioned in your member reordering patterns Context used to render video data. The format of snapshot. BMP Jpeg PNG Aspect ratio enumeration. Default aspect ratio. 16:9 4:3 一个强类型的资源类,用于查找本地化的字符串等。 返回此类使用的缓存的 ResourceManager 实例。 使用此强类型资源类,为所有资源查找 重写当前线程的 CurrentUICulture 属性。 VLC media player. Create a for XAML, you should not use it to create player in your C# code, if you don't want to add it to XAML visual three. use and to instead. Create a for C# code, if you want to display video with , please set to true, player will generate on thread of it. Do you want to display video with ? Create a for C# code, use player will generate on specified thread. The dispatcher of thread which you want to generate on. Initialize VLC player with path of LibVlc. Initialize VLC player with path of LibVlc and options. Cleanup the player used resource. Cleanup the player used resource. Load a media by file path. Load a media by uri. Load a media by file path and options. Load a media by uri and options. Play media. Pause media. Resume media. Pause or resume media. Replay media. Stop media. Add options to media. Show next frame. Inactive with DVD menu. Toggle mute mode. Take a snapshot. Take a snapshot. Gets a list of potential audio output devices. Gets a list of audio output devices for a given audio output module. Gets the list of available audio output modules. Selects an audio output module. Any change will take be effect only after playback is stopped and restarted. Audio output cannot be changed while playing. Get the current audio output device identifier. Configures an explicit audio output device. If the module paramater is NULL, audio output will be moved to the device specified by the device identifier string immediately. This is the recommended usage. A list of adequate potential device strings can be obtained with . However passing NULL is supported in LibVLC version 2.2.0 and later only; in earlier versions, this function would have no effects when the module parameter was NULL. If the module parameter is not NULL, the device parameter of the corresponding audio output, if it exists, will be set to the specified string. Note that some audio output modules do not have such a parameter (notably MMDevice and PulseAudio). A list of adequate potential device strings can be obtained with . The path of LibVlc, it is a DependencyProperty. The options of LibVlc, it is a DependencyProperty. The aspect ratio of video, it is a DependencyProperty. The stretch mode of video. The stretch direction of video. Get or set progress of media, between 0 and 1. Get or set current time progress of media. Get FPS of media. Get or set state of mute. Get or set output channel of audio. Get track count of audio. Get or set track index of audio. Get description of audio track. Get or set rate of media. Get or set title index of media. Get title count of media. Get or set chapter index of media. Get chapter count of media. Checks if media is seekable. Get state of media. Get length of media. Get internal VlcMediaPlayer, it is best not to use this, unless you need to customize advanced features. Get internal Vlc. Get or set volume of media. Get or set audio equalizer. The image data of video, it is created on other thread, you can't use it in main thread. VlcPlayer create mode. Create a new instance with default instance. Create a new instance with a new instance. Width of video. Height of video. Video chroma type.