public MediaGraphGrpcExtension(string name, IEnumerable <MediaGraphNodeInput> inputs, MediaGraphEndpoint endpoint, MediaGraphImage image, MediaGraphGrpcExtensionDataTransfer dataTransfer) : base(name, inputs, endpoint, image) { if (name == null) { throw new ArgumentNullException(nameof(name)); } if (inputs == null) { throw new ArgumentNullException(nameof(inputs)); } if (endpoint == null) { throw new ArgumentNullException(nameof(endpoint)); } if (image == null) { throw new ArgumentNullException(nameof(image)); } if (dataTransfer == null) { throw new ArgumentNullException(nameof(dataTransfer)); } DataTransfer = dataTransfer; Type = "#Microsoft.Media.MediaGraphGrpcExtension"; }
internal static MediaGraphGrpcExtension DeserializeMediaGraphGrpcExtension(JsonElement element) { MediaGraphGrpcExtensionDataTransfer dataTransfer = default; Optional <string> extensionConfiguration = default; MediaGraphEndpoint endpoint = default; MediaGraphImage image = default; Optional <MediaGraphSamplingOptions> samplingOptions = default; string type = default; string name = default; IList <MediaGraphNodeInput> inputs = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("dataTransfer")) { dataTransfer = MediaGraphGrpcExtensionDataTransfer.DeserializeMediaGraphGrpcExtensionDataTransfer(property.Value); continue; } if (property.NameEquals("extensionConfiguration")) { extensionConfiguration = property.Value.GetString(); continue; } if (property.NameEquals("endpoint")) { endpoint = MediaGraphEndpoint.DeserializeMediaGraphEndpoint(property.Value); continue; } if (property.NameEquals("image")) { image = MediaGraphImage.DeserializeMediaGraphImage(property.Value); continue; } if (property.NameEquals("samplingOptions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } samplingOptions = MediaGraphSamplingOptions.DeserializeMediaGraphSamplingOptions(property.Value); continue; } if (property.NameEquals("@type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("inputs")) { List <MediaGraphNodeInput> array = new List <MediaGraphNodeInput>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(MediaGraphNodeInput.DeserializeMediaGraphNodeInput(item)); } inputs = array; continue; } } return(new MediaGraphGrpcExtension(type, name, inputs, endpoint, image, samplingOptions.Value, dataTransfer, extensionConfiguration.Value)); }
internal MediaGraphGrpcExtension(string type, string name, IList <MediaGraphNodeInput> inputs, MediaGraphEndpoint endpoint, MediaGraphImage image, MediaGraphSamplingOptions samplingOptions, MediaGraphGrpcExtensionDataTransfer dataTransfer, string extensionConfiguration) : base(type, name, inputs, endpoint, image, samplingOptions) { DataTransfer = dataTransfer; ExtensionConfiguration = extensionConfiguration; Type = type ?? "#Microsoft.Media.MediaGraphGrpcExtension"; }