Skip to main content

Proxy source

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

Block info

Name: ProxySourceBlock.

Pin directionMedia typePins count
OutputAny uncompressed1

Sample pipelines

First pipeline with a video source and a proxy video sink

Second pipeline with a proxy video source and a video renderer

Sample code

// source pipeline with virtual video source and proxy sink
var sourcePipeline = new MediaBlocksPipeline(true);
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(true);
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.