vShare Virgo's Core Hub!

vShare is our core technology to share realtime audio/video (AV) and graphics buffers between different applications under the Windows operating system. This sharing is as fast as if the AV data was directly available to the application – it’s in memory and shared among various processes without duplicating the audio/video buffers.

The “slot” is the container in vShare where AV buffers are held and queues of AV buffers managed for the various connected applications. It's a one to many queuing system that makes it very flexible to write totally independent applications that do not ahve to be aware of each other.

But vShare is more than that – it also includes various controls to display the content of a slot on screen and DirectShow capture device emulators to make slots available to all DirectShow based applications.

vShare is used in all Marex products and can be used for your own products as is, without requiring other Marex products.

vStream allows remote monitoring of slots which is quite important in any client-server design.

vWire allows vShare to extend across computers over IP. It replicates a slot from one server to another which opens up tons of opportunities.


vShare DLL


  • vShare is available as a DLL for both 32 and 64 bits Windows operating systems. It comes with a simple .h include file to add to your projects.
  • Applications can put audio/video frames into a shared memory slot (queue) for another application to consume on the same PC.
  • Applications can get audio/video frames from a slot created by itself or another application on the same PC.
  • Multiple applications can register for the same slot without requiring multiple copies of the audio/video data. This provides a one to many relationship also called a tee module.
  • vShare handles drop frame counts. Put and Get from slots can be blocking or not.

vShare Display Controls


  • vRenderer is the core DLL to render an vShare slot onto the screen and the PC sound system. Supports direct3D and GDI for display and XAudio2 for sound.
  • Use vRenderer directly in C and C++ applications.
  • Use the DotNet Forms control to easily integrate display into any DotNet Forms applications. The WPF control supports native WPF D3D to benefit from all the power of WPF.
  • Use the DotNet WPF control to easily integrate display into any DotNet WPF applications with native support for WPF D3D to benefit from all the power of WPF.
  • Use the ActiveX control for Internet Explorer web pages or any other platform that supports ActiveX.
  • vRenderer will display a remote slot with the help of vStream simply by using the right URL syntax.
  • Audio vuMeter burned over the video.

vShare DirectShow filters


  • Video and audio source filters are provided to access vShare slots created by applications using the vShare DLL.
  • The audio and video source filters are also available as capture device filters to emulate physical capture devices. This opens up access to Marex products or your own application by any DirectShow enabled application like Windows Media Encoder or Flash Encoder and to stream directly to the web.

Many Sample Applications


  • Monitoring tool in C++ using Win32 SDK
  • Monitoring tool in C# using the ActiveX
  • Monitoring tool in C# using the Forms control
  • Monitoring tool in C# using the WPF Control
  • Application to use vShare core features in C++. Create a slot with a moving white bar, Insert Closed Caption...
  • C# application to insert 708 captions into an input to an output slot.