/// <summary>
        /// Creates a new renderer and configures it with a custom allocator
        /// </summary>
        /// <param name="rendererType">The type of renderer we wish to choose</param>
        /// <param name="graph">The DirectShow graph to add the renderer to</param>
        /// <param name="streamCount">Number of input pins for the renderer</param>
        /// <returns>An initialized DirectShow renderer</returns>
        protected IBaseFilter CreateVideoRenderer(VideoRendererType rendererType, IGraphBuilder graph, int streamCount)
        {
            IBaseFilter renderer;

            switch (rendererType)
            {
            case VideoRendererType.VideoMixingRenderer9:
                renderer = CreateVideoMixingRenderer9(graph, streamCount);
                break;

            case VideoRendererType.EnhancedVideoRenderer:
                renderer = CreateEnhancedVideoRenderer(graph, streamCount);
                break;

            default:
                throw new ArgumentOutOfRangeException("rendererType");
            }

            return(renderer);
        }
Beispiel #2
0
        /// <summary>
        /// Creates a new renderer and configures it with a custom allocator
        /// </summary>
        /// <param name="rendererType">The type of renderer we wish to choose</param>
        /// <param name="graph">The DirectShow graph to add the renderer to</param>
        /// <returns>An initialized DirectShow renderer</returns>
        protected IBaseFilter CreateVideoRenderer(VideoRendererType rendererType, IGraphBuilder graph)
        {
            IBaseFilter renderer;

            switch (rendererType)
            {
                case VideoRendererType.VideoMixingRenderer9:
                    renderer = CreateVideoMixingRenderer9(graph);
                    break;
                case VideoRendererType.EnhancedVideoRenderer:
                    renderer = CreateEnhancedVideoRenderer(graph);
                    break;
                default:
                    throw new ArgumentOutOfRangeException("rendererType");
            }

            return renderer;
        }
 /// <summary>
 /// Creates a new renderer and configures it with a custom allocator
 /// </summary>
 /// <param name="rendererType">The type of renderer we wish to choose</param>
 /// <param name="graph">The DirectShow graph to add the renderer to</param>
 /// <returns>An initialized DirectShow renderer</returns>
 protected IBaseFilter CreateVideoRenderer(VideoRendererType rendererType, IGraphBuilder graph)
 {
     return(CreateVideoRenderer(rendererType, graph, 1));
 }
Beispiel #4
0
 /// <summary>
 /// Creates a new renderer and configures it with a custom allocator
 /// </summary>
 /// <param name="rendererType">The type of renderer we wish to choose</param>
 /// <param name="graph">The DirectShow graph to add the renderer to</param>
 /// <returns>An initialized DirectShow renderer</returns>
 protected IBaseFilter CreateVideoRenderer(VideoRendererType rendererType, IGraphBuilder graph)
 {
     return CreateVideoRenderer(rendererType, graph, 1);
 }