Compartilhar via


Classe CSourceStream

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Hierarquia da classe csourcestream

A classe CSourceStream fornece um pino de saída para a classe de filtro CSource .

Para obter informações sobre como usar essa classe, consulte CSource. Essa classe herda a classe CAMThread , que fornece um thread de trabalho para transmitir dados do pino. A classe CSourceStream implementa os seguintes métodos auxiliares para enviar solicitações para o thread:

A primeira solicitação para o thread deve ser Init. A solicitação Exit encerra o thread. Na prática, não é necessário chamar nenhum desses métodos diretamente, pois os métodos CSourceStream::Active e CSourceStream::Inactive do pin os chamam conforme necessário.

A classe também fornece vários métodos de "manipulador":

Eles não fazem nada na classe base, mas a classe derivada pode substituí-los.

Variáveis de membro protegidas Descrição
m_pFilter Ponteiro para o filtro que contém esse pino.
Métodos Protegidos Descrição
OnThreadCreate Chamado quando o thread de streaming é inicializado. Virtual.
OnThreadDestroy Chamado quando o thread de streaming está prestes a sair. Virtual.
OnThreadStartPlay Chamado no início do método CSourceStream::D oBufferProcessingLoop . Virtual.
Ativo Notifica o pino de que o filtro agora está ativo.
Inativo Notifica o pino de que o filtro não está mais ativo.
Getrequest Aguarda a próxima solicitação de thread.
CheckRequest Verifica se há uma solicitação de thread, sem bloqueio.
Threadproc Procedimento de thread. Virtual.
DoBufferProcessingLoop Gera dados de mídia e os entrega ao pino de entrada downstream. Virtual.
Checkmediatype Determina se o pin aceita um tipo de mídia específico. Virtual.
Getmediatype Recupera um tipo de mídia preferencial. Virtual.
Métodos públicos Descrição
Csourcestream Método de construtor.
~Csourcestream Método de destruidor. Virtual.
Init Inicializa o thread de streaming.
Fechar Sinaliza o thread de streaming para sair.
Executar Sinaliza o thread de streaming a ser executado.
Pausa Sinaliza que o thread de streaming se torne ativo.
Parar Sinaliza que o thread de streaming será interrompido.
Métodos virtuais puros Descrição
FillBuffer Preenche um exemplo de mídia com dados.
Métodos IPin Descrição
Queryid Recupera um identificador para o pino.

Requisitos

Requisito Valor
parâmetro
Source.h (inclua Streams.h)
Biblioteca
Strmbase.lib (builds de varejo);
Strmbasd.lib (builds de depuração)

Confira também

Gravando filtros de origem