Solo vista previa de DirectShow y Captura y vista previa con un solo gráfico

Tengo una aplicación Directshow que necesita una vista previa de un video de cámara web, y cuando el usuario hace clic en 'Grabar' necesita comenzar a capturar el video en un archivo.

Para ese fin, creé un solo gráfico de captura, con el pin PREVIEW conectado a un filtro RENDER y el pin CAPTURE conectado a un filtro AVI_MUX que se guarda en un archivo.

Se ve algo como esto:

                        /[PREVIEW PIN]-->[VIDEO_RENDERER]--->[SCREEN]
[VIDEO CAPTURE FILTER] /
                       \
                        \[CAPTURE PIN]--->[AVI_MUX]--->[FILE WRITER]

Cuando llamo a Run () en el gráfico, el video se muestra en la pantalla y se guarda en el archivo correctamente.

Mi pregunta es, ¿cómo puedo ejecutar solo la sección PREVIEW PIN del gráfico sin la sección CAPTURE_PIN?

Mi idea inicial fue iniciar / detener manualmente los filtros respectivos, pero luego miré el ejemplo de Microsoft Directshow amcap, y en realidad crearon dos gráficos separados. Uno para la vista previa y otro para la captura. Si el usuario desea obtener una vista previa del video, destruye el gráfico de captura y crea un gráfico de vista previa. Y si el usuario desea grabar un video, destruye el gráfico de vista previa y crea un gráfico de captura.

Parece un desperdicio, sobre todo porque un solo gráfico ya contiene pines PREVIO y CAPTURA. ¿Cuál es el enfoque correcto aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta