// Add sinks to Topology
 private void SetSinks(PipelineTopologyProperties pipelineTopologyProps)
 {
     #region Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks2
     var nodeInput = new List <NodeInput>
     {
         new NodeInput("rtspSource")
     };
     pipelineTopologyProps.Sinks.Add(new VideoSink("videoSink", nodeInput, "video", "/var/lib/videoanalyzer/tmp/", "1024"));
     #endregion Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks2
 }
 // Add sources to Topology
 private void SetSources(PipelineTopologyProperties pipelineTopologyProps)
 {
     #region Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks1
     pipelineTopologyProps.Sources.Add(new RtspSource("rtspSource", new UnsecuredEndpoint("${rtspUrl}")
     {
         Credentials = new UsernamePasswordCredentials("${rtspUserName}", "${rtspPassword}")
     })
                                       );
     #endregion Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks1
 }
 // Add sinks to Topology
 private void SetSinks(PipelineTopologyProperties pipelineTopologyProps)
 {
     #region Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks2
     var nodeInput = new List <NodeInput>
     {
         new NodeInput("rtspSource")
     };
     pipelineTopologyProps.Sinks.Add(new IotHubMessageSink("msgSink", nodeInput, "${hubSinkOutputName}"));
     #endregion Snippet:Azure_VideoAnalyzerSamples_SetSourcesSinks2
 }
        private PipelineTopology BuildPipelineTopology()
        {
            #region Snippet:Azure_VideoAnalyzerSamples_BuildPipelineTopology
            var pipelineTopologyProps = new PipelineTopologyProperties
            {
                Description = "Continuous video recording to a Video Analyzer video",
            };
            SetParameters(pipelineTopologyProps);
            SetSources(pipelineTopologyProps);
            SetSinks(pipelineTopologyProps);
            return(new PipelineTopology("ContinuousRecording")
            {
                Properties = pipelineTopologyProps
            });

            #endregion Snippet:Azure_VideoAnalyzerSamples_BuildPipelineTopology
        }
 // Add parameters to Topology
 private void SetParameters(PipelineTopologyProperties pipelineTopologyProperties)
 {
     #region Snippet:Azure_VideoAnalyzerSamples_SetParameters
     pipelineTopologyProperties.Parameters.Add(new ParameterDeclaration("rtspUserName", ParameterType.String)
     {
         Description = "rtsp source user name.",
         Default     = "exampleUserName"
     });
     pipelineTopologyProperties.Parameters.Add(new ParameterDeclaration("rtspPassword", ParameterType.SecretString)
     {
         Description = "rtsp source password.",
         Default     = "examplePassword"
     });
     pipelineTopologyProperties.Parameters.Add(new ParameterDeclaration("rtspUrl", ParameterType.String)
     {
         Description = "rtsp Url"
     });
     #endregion Snippet:Azure_VideoAnalyzerSamples_SetParameters
 }