Skip to content

Commit 049da7a

Browse files
authored
[Media] Adding additional customization files (Azure#17755)
1 parent ad4f06d commit 049da7a

File tree

45 files changed

+537
-266
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+537
-266
lines changed

sdk/mediaservices/Azure.Media.Analytics.Edge/README.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This is a models only sdk. All client operations are done using the [Microsoft A
1717

1818
As mentioned above the client is coming from Azure IoT SDK. You will need to obtain an [IoT device connection string][iot_device_connection_string] in order to authenticate the Azure IoT SDK. For more information please visit: https://github.com/Azure/azure-iot-sdk-csharp.
1919
```C# Snippet:Azure_MediaServices_Samples_ConnectionString
20-
var connectionString = "connection-string";
20+
var connectionString = "connectionString";
2121
this._serviceClient = ServiceClient.CreateFromConnectionString(connectionString);
2222
```
2323

@@ -87,10 +87,7 @@ private void SetSources(MediaGraphTopologyProperties graphProperties)
8787
{
8888
graphProperties.Sources.Add(new MediaGraphRtspSource("rtspSource", new MediaGraphUnsecuredEndpoint("${rtspUrl}")
8989
{
90-
Credentials = new MediaGraphUsernamePasswordCredentials("${rtspUserName}")
91-
{
92-
Password = "${rtspPassword}"
93-
}
90+
Credentials = new MediaGraphUsernamePasswordCredentials("${rtspUserName}", "${rtspPassword}")
9491
})
9592
);
9693
}
@@ -100,7 +97,7 @@ private void SetSinks(MediaGraphTopologyProperties graphProperties)
10097
{
10198
var graphNodeInput = new List<MediaGraphNodeInput>
10299
{
103-
{ new MediaGraphNodeInput{NodeName = "rtspSource"} }
100+
new MediaGraphNodeInput("rtspSource")
104101
};
105102
var cachePath = "/var/lib/azuremediaservices/tmp/";
106103
var cacheMaxSize = "2048";
@@ -141,7 +138,7 @@ private MediaGraphInstance BuildGraphInstance(string graphTopologyName)
141138

142139
graphInstanceProperties.Parameters.Add(new MediaGraphParameterDefinition("rtspUrl", "rtsp://sample.com"));
143140

144-
return new MediaGraphInstance("graphInstance1")
141+
return new MediaGraphInstance("graphInstance")
145142
{
146143
Properties = graphInstanceProperties
147144
};
@@ -156,7 +153,7 @@ var setGraphRequest = new MediaGraphTopologySetRequest(graphTopology);
156153
var directMethod = new CloudToDeviceMethod(setGraphRequest.MethodName);
157154
directMethod.SetPayloadJson(setGraphRequest.GetPayloadAsJson());
158155

159-
await _serviceClient.InvokeDeviceMethodAsync(_deviceId, _moduleId, directMethod);
156+
var setGraphResponse = await _serviceClient.InvokeDeviceMethodAsync(_deviceId, _moduleId, directMethod);
160157
```
161158

162159
To try different media graph topologies with the SDK, please see the official [Samples][samples].

sdk/mediaservices/Azure.Media.Analytics.Edge/api/Azure.Media.Analytics.Edge.netstandard2.0.cs

Lines changed: 80 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,9 @@ public MediaGraphImageFormatRaw(Azure.Media.Analytics.Edge.Models.MediaGraphImag
142142
}
143143
public partial class MediaGraphImageScale
144144
{
145-
public MediaGraphImageScale(Azure.Media.Analytics.Edge.Models.MediaGraphImageScaleMode mode) { }
145+
public MediaGraphImageScale() { }
146146
public string Height { get { throw null; } set { } }
147-
public Azure.Media.Analytics.Edge.Models.MediaGraphImageScaleMode Mode { get { throw null; } set { } }
147+
public Azure.Media.Analytics.Edge.Models.MediaGraphImageScaleMode? Mode { get { throw null; } set { } }
148148
public string Width { get { throw null; } set { } }
149149
}
150150
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
@@ -183,6 +183,7 @@ public partial class MediaGraphInstanceCollection
183183
public MediaGraphInstanceCollection() { }
184184
public string ContinuationToken { get { throw null; } set { } }
185185
public System.Collections.Generic.IList<Azure.Media.Analytics.Edge.Models.MediaGraphInstance> Value { get { throw null; } }
186+
public static Azure.Media.Analytics.Edge.Models.MediaGraphInstanceCollection Deserialize(string json) { throw null; }
186187
}
187188
public partial class MediaGraphInstanceDeActivateRequest : Azure.Media.Analytics.Edge.Models.ItemNonSetRequestBase
188189
{
@@ -214,12 +215,25 @@ public MediaGraphInstanceSetRequest(Azure.Media.Analytics.Edge.Models.MediaGraph
214215
public Azure.Media.Analytics.Edge.Models.MediaGraphInstance Instance { get { throw null; } set { } }
215216
public override string GetPayloadAsJson() { throw null; }
216217
}
217-
public enum MediaGraphInstanceState
218+
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
219+
public readonly partial struct MediaGraphInstanceState : System.IEquatable<Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState>
218220
{
219-
Inactive = 0,
220-
Activating = 1,
221-
Active = 2,
222-
Deactivating = 3,
221+
private readonly object _dummy;
222+
private readonly int _dummyPrimitive;
223+
public MediaGraphInstanceState(string value) { throw null; }
224+
public static Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState Activating { get { throw null; } }
225+
public static Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState Active { get { throw null; } }
226+
public static Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState Deactivating { get { throw null; } }
227+
public static Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState Inactive { get { throw null; } }
228+
public bool Equals(Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState other) { throw null; }
229+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
230+
public override bool Equals(object obj) { throw null; }
231+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
232+
public override int GetHashCode() { throw null; }
233+
public static bool operator ==(Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState left, Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState right) { throw null; }
234+
public static implicit operator Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState (string value) { throw null; }
235+
public static bool operator !=(Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState left, Azure.Media.Analytics.Edge.Models.MediaGraphInstanceState right) { throw null; }
236+
public override string ToString() { throw null; }
223237
}
224238
public partial class MediaGraphIoTHubMessageSink : Azure.Media.Analytics.Edge.Models.MediaGraphSink
225239
{
@@ -259,21 +273,53 @@ public partial class MediaGraphMotionDetectionProcessor : Azure.Media.Analytics.
259273
}
260274
public partial class MediaGraphNodeInput
261275
{
262-
public MediaGraphNodeInput() { }
276+
public MediaGraphNodeInput(string nodeName) { }
263277
public string NodeName { get { throw null; } set { } }
264278
public System.Collections.Generic.IList<Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelector> OutputSelectors { get { throw null; } }
279+
public static Azure.Media.Analytics.Edge.Models.MediaGraphNodeInput FromNodeName(string nodeName) { throw null; }
280+
public static implicit operator Azure.Media.Analytics.Edge.Models.MediaGraphNodeInput (string nodeName) { throw null; }
265281
}
266282
public partial class MediaGraphOutputSelector
267283
{
268284
public MediaGraphOutputSelector() { }
269285
public Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator? Operator { get { throw null; } set { } }
270-
public string Property { get { throw null; } set { } }
286+
public Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty? Property { get { throw null; } set { } }
271287
public string Value { get { throw null; } set { } }
272288
}
273-
public enum MediaGraphOutputSelectorOperator
289+
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
290+
public readonly partial struct MediaGraphOutputSelectorOperator : System.IEquatable<Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator>
291+
{
292+
private readonly object _dummy;
293+
private readonly int _dummyPrimitive;
294+
public MediaGraphOutputSelectorOperator(string value) { throw null; }
295+
public static Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator Is { get { throw null; } }
296+
public static Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator IsNot { get { throw null; } }
297+
public bool Equals(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator other) { throw null; }
298+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
299+
public override bool Equals(object obj) { throw null; }
300+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
301+
public override int GetHashCode() { throw null; }
302+
public static bool operator ==(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator left, Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator right) { throw null; }
303+
public static implicit operator Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator (string value) { throw null; }
304+
public static bool operator !=(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator left, Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorOperator right) { throw null; }
305+
public override string ToString() { throw null; }
306+
}
307+
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
308+
public readonly partial struct MediaGraphOutputSelectorProperty : System.IEquatable<Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty>
274309
{
275-
Is = 0,
276-
IsNot = 1,
310+
private readonly object _dummy;
311+
private readonly int _dummyPrimitive;
312+
public MediaGraphOutputSelectorProperty(string value) { throw null; }
313+
public static Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty MediaType { get { throw null; } }
314+
public bool Equals(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty other) { throw null; }
315+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
316+
public override bool Equals(object obj) { throw null; }
317+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
318+
public override int GetHashCode() { throw null; }
319+
public static bool operator ==(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty left, Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty right) { throw null; }
320+
public static implicit operator Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty (string value) { throw null; }
321+
public static bool operator !=(Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty left, Azure.Media.Analytics.Edge.Models.MediaGraphOutputSelectorProperty right) { throw null; }
322+
public override string ToString() { throw null; }
277323
}
278324
public partial class MediaGraphParameterDeclaration
279325
{
@@ -289,17 +335,32 @@ public MediaGraphParameterDefinition(string name, string value) { }
289335
public string Name { get { throw null; } set { } }
290336
public string Value { get { throw null; } set { } }
291337
}
292-
public enum MediaGraphParameterType
338+
[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
339+
public readonly partial struct MediaGraphParameterType : System.IEquatable<Azure.Media.Analytics.Edge.Models.MediaGraphParameterType>
293340
{
294-
String = 0,
295-
SecretString = 1,
296-
Int = 2,
297-
Double = 3,
298-
Bool = 4,
341+
private readonly object _dummy;
342+
private readonly int _dummyPrimitive;
343+
public MediaGraphParameterType(string value) { throw null; }
344+
public static Azure.Media.Analytics.Edge.Models.MediaGraphParameterType Bool { get { throw null; } }
345+
public static Azure.Media.Analytics.Edge.Models.MediaGraphParameterType Double { get { throw null; } }
346+
public static Azure.Media.Analytics.Edge.Models.MediaGraphParameterType Int { get { throw null; } }
347+
public static Azure.Media.Analytics.Edge.Models.MediaGraphParameterType SecretString { get { throw null; } }
348+
public static Azure.Media.Analytics.Edge.Models.MediaGraphParameterType String { get { throw null; } }
349+
public bool Equals(Azure.Media.Analytics.Edge.Models.MediaGraphParameterType other) { throw null; }
350+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
351+
public override bool Equals(object obj) { throw null; }
352+
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
353+
public override int GetHashCode() { throw null; }
354+
public static bool operator ==(Azure.Media.Analytics.Edge.Models.MediaGraphParameterType left, Azure.Media.Analytics.Edge.Models.MediaGraphParameterType right) { throw null; }
355+
public static implicit operator Azure.Media.Analytics.Edge.Models.MediaGraphParameterType (string value) { throw null; }
356+
public static bool operator !=(Azure.Media.Analytics.Edge.Models.MediaGraphParameterType left, Azure.Media.Analytics.Edge.Models.MediaGraphParameterType right) { throw null; }
357+
public override string ToString() { throw null; }
299358
}
300359
public partial class MediaGraphPemCertificateList : Azure.Media.Analytics.Edge.Models.MediaGraphCertificateSource
301360
{
302361
public MediaGraphPemCertificateList(System.Collections.Generic.IEnumerable<string> certificates) { }
362+
public MediaGraphPemCertificateList(System.Collections.Generic.IList<System.Security.Cryptography.X509Certificates.X509Certificate2> certificates) { }
363+
public MediaGraphPemCertificateList(params System.Security.Cryptography.X509Certificates.X509Certificate2[] certificates) { }
303364
public System.Collections.Generic.IList<string> Certificates { get { throw null; } }
304365
}
305366
public partial class MediaGraphProcessor
@@ -389,7 +450,6 @@ public MediaGraphTopologyCollection() { }
389450
public string ContinuationToken { get { throw null; } set { } }
390451
public System.Collections.Generic.IList<Azure.Media.Analytics.Edge.Models.MediaGraphTopology> Value { get { throw null; } }
391452
public static Azure.Media.Analytics.Edge.Models.MediaGraphTopologyCollection Deserialize(string json) { throw null; }
392-
public string Serialize() { throw null; }
393453
}
394454
public partial class MediaGraphTopologyDeleteRequest : Azure.Media.Analytics.Edge.Models.ItemNonSetRequestBase
395455
{
@@ -424,7 +484,7 @@ public MediaGraphUnsecuredEndpoint(string url) : base (default(string)) { }
424484
}
425485
public partial class MediaGraphUsernamePasswordCredentials : Azure.Media.Analytics.Edge.Models.MediaGraphCredentials
426486
{
427-
public MediaGraphUsernamePasswordCredentials(string username) { }
487+
public MediaGraphUsernamePasswordCredentials(string username, string password) { }
428488
public string Password { get { throw null; } set { } }
429489
public string Username { get { throw null; } set { } }
430490
}

sdk/mediaservices/Azure.Media.Analytics.Edge/samples/LiveVideoAnalyticsSample.cs

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ namespace Azure.Media.Analytics.Edge.Samples
1919
public class LiveVideoAnalyticsSample
2020
{
2121
private ServiceClient _serviceClient;
22-
private String _deviceId = "deviceid";
23-
private String _moduleId = "modulename";
22+
private String _deviceId = "deviceId";
23+
private String _moduleId = "moduleId";
2424

2525
public LiveVideoAnalyticsSample()
2626
{
2727
#region Snippet:Azure_MediaServices_Samples_ConnectionString
28-
var connectionString = "connection-string";
28+
var connectionString = "connectionString";
2929
this._serviceClient = ServiceClient.CreateFromConnectionString(connectionString);
3030
#endregion Snippet:Azure_MediaServices_Samples_ConnectionString
3131

@@ -47,7 +47,7 @@ public async Task SendGraphRequests()
4747
var directMethod = new CloudToDeviceMethod(setGraphRequest.MethodName);
4848
directMethod.SetPayloadJson(setGraphRequest.GetPayloadAsJson());
4949

50-
await _serviceClient.InvokeDeviceMethodAsync(_deviceId, _moduleId, directMethod);
50+
var setGraphResponse = await _serviceClient.InvokeDeviceMethodAsync(_deviceId, _moduleId, directMethod);
5151
#endregion Snippet:Azure_MediaServices_Samples_InvokeDirectMethod
5252

5353
// get a graph topology using helper function
@@ -66,7 +66,11 @@ public async Task SendGraphRequests()
6666

6767
//get instance
6868
var getGraphInstanceResponse = await InvokeDirectMethodHelper(new MediaGraphInstanceGetRequest(graphInstance.Name));
69-
var getGraphInstaceResult = MediaGraphInstance.Deserialize(getGraphInstanceResponse.GetPayloadAsJson());
69+
var getGraphInstanceResult = MediaGraphInstance.Deserialize(getGraphInstanceResponse.GetPayloadAsJson());
70+
71+
// list all graph instance
72+
var listGraphInstanceResponse = await InvokeDirectMethodHelper(new MediaGraphInstanceListRequest());
73+
var listGraphInstanceResult = MediaGraphInstanceCollection.Deserialize(listGraphInstanceResponse.GetPayloadAsJson());
7074

7175
//get deactive graph
7276
var deactiveGraphInstance = await InvokeDirectMethodHelper(new MediaGraphInstanceDeActivateRequest(graphInstance.Name));
@@ -99,7 +103,7 @@ private MediaGraphInstance BuildGraphInstance(string graphTopologyName)
99103

100104
graphInstanceProperties.Parameters.Add(new MediaGraphParameterDefinition("rtspUrl", "rtsp://sample.com"));
101105

102-
return new MediaGraphInstance("graphInstance1")
106+
return new MediaGraphInstance("graphInstance")
103107
{
104108
Properties = graphInstanceProperties
105109
};
@@ -150,10 +154,7 @@ private void SetSources(MediaGraphTopologyProperties graphProperties)
150154
{
151155
graphProperties.Sources.Add(new MediaGraphRtspSource("rtspSource", new MediaGraphUnsecuredEndpoint("${rtspUrl}")
152156
{
153-
Credentials = new MediaGraphUsernamePasswordCredentials("${rtspUserName}")
154-
{
155-
Password = "${rtspPassword}"
156-
}
157+
Credentials = new MediaGraphUsernamePasswordCredentials("${rtspUserName}", "${rtspPassword}")
157158
})
158159
);
159160
}
@@ -163,7 +164,7 @@ private void SetSinks(MediaGraphTopologyProperties graphProperties)
163164
{
164165
var graphNodeInput = new List<MediaGraphNodeInput>
165166
{
166-
{ new MediaGraphNodeInput{NodeName = "rtspSource"} }
167+
new MediaGraphNodeInput("rtspSource")
167168
};
168169
var cachePath = "/var/lib/azuremediaservices/tmp/";
169170
var cacheMaxSize = "2048";

sdk/mediaservices/Azure.Media.Analytics.Edge/src/Customization/MediaGraphInstance.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@ public partial class MediaGraphInstance
1313
/// <summary>
1414
/// Deserialize MediaGraphInstance.
1515
/// </summary>
16-
/// <param name="json"></param>
17-
/// <returns>
18-
/// Deserialized Graph Instance.
19-
/// </returns>
16+
/// <param name="json">The json to be deserialized.</param>
17+
/// <returns>A MediaGraphInstance.</returns>
2018
public static MediaGraphInstance Deserialize(string json)
2119
{
22-
JsonElement element = JsonDocument.Parse(json).RootElement;
20+
using JsonDocument doc = JsonDocument.Parse(json);
21+
JsonElement element = doc.RootElement;
2322
return DeserializeMediaGraphInstance(element);
2423
}
2524
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
// Copyright (c) Microsoft Corporation. All rights reserved.
2+
// Licensed under the MIT License.
3+
4+
using System.IO;
5+
using System.Text;
6+
using System.Text.Json;
7+
using Azure.Core;
8+
9+
namespace Azure.Media.Analytics.Edge.Models
10+
{
11+
public partial class MediaGraphInstanceCollection
12+
{
13+
/// <summary>
14+
/// Deserialize MediaGraphInstance.
15+
/// </summary>
16+
/// <param name="json">The json to be deserialized.</param>
17+
/// <returns> Json string representation of a Graph Instance Collection. </returns>
18+
public static MediaGraphInstanceCollection Deserialize(string json)
19+
{
20+
using JsonDocument doc = JsonDocument.Parse(json);
21+
JsonElement element = doc.RootElement;
22+
return DeserializeMediaGraphInstanceCollection(element);
23+
}
24+
}
25+
}

0 commit comments

Comments
 (0)