# Proxy source

Media Blocks SDK .Net

Proxy source/proxy sink pair of blocks can be used to connect different media pipelines and use them independently.

# Block info

Name: ProxySourceBlock.

Pin direction Media type Pins count
Output Any uncompressed 1

# Sample pipelines

# First pipeline with a video source and a proxy video sink

graph LR;
    VirtualVideoSourceBlock-->ProxySinkBlock;

# Second pipeline with a proxy video source and a video renderer

graph LR;
    ProxySourceBlock-->VideoRendererBlock;

# Sample code

// source pipeline with virtual video source and proxy sink
var sourcePipeline = new MediaBlocksPipeline();
var videoSourceBlock = new VirtualVideoSourceBlock(new VirtualVideoSourceSettings());
var proxyVideoSink = new ProxySinkBlock();
sourcePipeline.Connect(videoSourceBlock.Output, proxyVideoSink.Input);

// sink pipeline with proxy video source and video renderer
var sinkPipeline = new MediaBlocksPipeline();
var proxyVideoSource = new ProxySourceBlock(proxyVideoSink);
var videoRenderer = new VideoRendererBlock(sinkPipeline, VideoView1);
sinkPipeline.Connect(proxyVideoSource.Output, videoRenderer.Input);

// start pipelines
await sourcePipeline.StartAsync();
await sinkPipeline.StartAsync();

# Platforms

Windows, macOS, Linux, iOS, Android.