I think most people know what VLC is. I figured VLC API could be a good example of a use case example for the VideoRendererElement.
So I remember coming across a gentleman that made a WPF player that used VLC to decode the video. The problem is the frames were updated with this code:
videoOutput.Source = BitmapSource.Create(
width,
height,
96,
96 * aspect * height / width,
PixelFormats.Rgb24,
null,
buffer,
bufferSize,
stride
);
As you can see, doing that code from every frame is going to beat up the GC and CPU quite a bit. Not to mention the solution has pretty bad tearing of the video. With a few small tweaks to his project (and the VideoRendererElement), I had tear-free, low-cpu usage video with a custom video source (VLC).
Here is a screenshot with the two magic functions. As you can see I have some color space issues. Everyone looks like a smurf!
Maybe next I'll show a webcam with the VideoRendererElement.