Compartir a través de


Método ICaptureGraphBuilder::RenderStream (strmif.h)

[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

Nota La interfaz ICaptureGraphBuilder está en desuso. Use ICaptureGraphBuilder2 en su lugar.
 
Conecta el pin de un filtro de origen, de una categoría especificada opcionalmente, al filtro de representación y, opcionalmente, a través de otro filtro.

Sintaxis

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

Parámetros

[in] pCategory

Puntero a un GUID que especifica qué pin de salida del filtro de origen se va a conectar. Vea Anclar conjunto de propiedades para obtener una lista de todas las categorías de patillas. NULL indica que representa el único pin de salida, independientemente de la categoría.

[in] pSource

Puntero a un IBaseFilter o una interfaz IPin que representa el filtro de origen o un pin de salida. Los filtros de origen suelen ser un filtro de origen de archivo, como un filtro de origen de archivo AVI o un filtro de captura.

[in] pfCompressor

Puntero a una interfaz IBaseFilter que representa el filtro de compresión opcional.

[in] pfRenderer

Puntero a una interfaz IBaseFilter que representa el representador. Puede usar el parámetro ppf (multiplexer) de ICaptureGraphBuilder::SetOutputFileName para proporcionar este valor.

Valor devuelto

Devuelve VFW_S_NOPREVIEWPIN si el filtro de captura tiene un pin de captura pero no tiene ningún pin de vista previa y llama a RenderStream con la categoría &PIN_CATEGORY_PREVIEW en el pin de captura. En este caso, RenderStream representará el pin de vista previa del filtro Smart Tee . Para obtener más información, vea la sección Comentarios.

Comentarios

Si especifica un GUID de conjunto de propiedades de pin distinto de NULL para pCategory y un filtro de captura para pSource, este método crea instancias y conecta filtros ascendentes necesarios adicionales, como los tuners de TV y las barras cruzadas. A continuación, representa el pin de captura de pSource.

Si pSource es un pin, especifique NULL para pCategory y este método representa la secuencia de ese pin.

Si el filtro de origen tiene solo un pin de salida, especifique NULL para pCategory.

Los filtros pSource, pfCompressor y pfRenderer proporcionados como parámetros deben estar presentes en el gráfico antes de llamar a este método.

Si va a crear un gráfico de captura que usa filtros de captura de WDM, este método compilará todos los filtros ascendentes necesarios, así como los filtros de bajada.

Algunos filtros de captura que funcionan con el nuevo hardware de captura de vídeo de WDM VPE (extensión de puerto de vídeo) tienen patillas de puerto de vídeo en lugar de patillas de vista previa diseñadas para la vista previa. Los patillas de puerto de vídeo no se conectan directamente a un representador de vídeo, sino a un filtro especial denominado Mezclador de superposición. La aplicación no tiene que preocuparse por esto. Lo único que tiene que hacer es llamar RenderStream a con PIN_CATEGORY_PREVIEW y el generador de gráficos de captura representará correctamente el pin PUERTO DE VÍDEO a través de un mezclador de superposición si es lo que es necesario.

Cuando se representa un pin de captura o vista previa de un filtro de captura de vídeo (mediante RenderStream con la categoría PIN_CATEGORY_CAPTURE o PIN_CATEGORY_PREVIEW) y el filtro de captura tiene un pin de captura pero no tiene un pin de vista previa, el filtro Smart Tee se usará automáticamente para permitir la captura y vista previa simultáneas. Por ejemplo, llamar a RenderStream con la categoría PIN_CATEGORY_CAPTURE conectará realmente un filtro Smart Tee al pin de captura del filtro y, a continuación, representará el pin de captura del smart Tee. Si, a continuación, llama a RenderStream con la categoría PIN_CATEGORY_PREVIEW en el pin de captura, en realidad representará el pin de vista previa del Smart Tee. Si llamar a RenderStream con PIN_CATEGORY_PREVIEW da como resultado el uso del pin de captura y un filtro Smart Tee, RenderStream devolverá VFW_S_NOPREVIEWPIN para indicarlo. Por lo tanto, si FindInterface no encuentra una interfaz de vista previa, es posible que tenga que llamar a FindInterface con la categoría PIN_CATEGORY_PREVIEW y con la categoría PIN_CATEGORY_CAPTURE, ya que la interfaz de vista previa se puede encontrar buscando en la parte inferior del pin de captura del filtro de captura.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado strmif.h (incluya Dshow.h)

Consulte también

Códigos de error y éxito

ICaptureGraphBuilder (interfaz)