Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
[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.]
A CBaseFilter classe é uma classe abstrata para implementar filtros. Para implementar um filtro usando essa classe, você deve executar pelo menos as seguintes etapas:
- Derivar uma nova classe de
CBaseFilter. - Inclua variáveis de membro que definem os pinos no filtro. Os pinos devem herdar da classe CBasePin .
- Substitua o método virtual puro CBaseFilter::GetPin, que recupera pinos no filtro.
- Substitua o método virtual puro CBaseFilter::GetPinCount, que recupera o número de pinos.
- Forneça métodos para gerar, processar ou renderizar amostras de mídia.
Várias classes base derivam de CBaseFilter, incluindo CSource, CBaseRenderer e CTransformFilter. Geralmente, é mais fácil implementar um filtro com uma dessas classes especializadas, em vez de usar CBaseFilter diretamente.
| Variáveis de membro protegidas | Descrição |
|---|---|
| M_state | Estado atual do filtro. |
| m_pClock | Ponteiro para o relógio de referência do filtro. |
| m_tStart | Tempo de referência que corresponde ao tempo de fluxo 0. |
| m_clsid | CLSID (identificador de classe) do filtro. |
| m_pLock | Ponteiro para uma seção crítica que é usada para serializar alterações de estado. |
| m_pName | Nome do filtro. |
| m_pGraph | Ponteiro para o gerenciador de grafo de filtro. |
| m_pSink | Ponteiro para a interface IMediaEventSink no gerenciador de grafo de filtro. |
| m_PinVersion | Versão atual do conjunto de pinos nesse filtro. |
| Métodos públicos | Descrição |
| Cbasefilter | Método de construtor. |
| ~Cbasefilter | Método de destruidor. |
| StreamTime | Recupera o tempo de fluxo atual. Virtual. |
| IsActive | Determina se o filtro está ativo no momento (em execução ou em pausa). |
| IsStopped | Determina se o filtro está parado no momento. |
| Notifyevent | Envia uma notificação de evento para o gerenciador de grafo de filtro. |
| GetFilterGraph | Recupera um ponteiro para o gerenciador de grafo de filtro. |
| ReconnectPin | Interrompe uma conexão de pino existente e reconecta-a ao mesmo pino, usando um tipo de mídia especificado. |
| Getpinversion | Recupera um número de versão para o conjunto de pinos nesse filtro. Virtual. |
| IncrementPinVersion | Incrementa o número de versão no conjunto de pinos. |
| Getsetupdata | Recupera os dados de registro do filtro. Virtual. |
| Métodos virtuais puros | Descrição |
| GetPinCount | Recupera o número de pinos. |
| Getpin | Recupera um pino. |
| Métodos IPersist | Descrição |
| Getclassid | Recupera o identificador de classe. |
| Métodos IMediaFilter | Descrição |
| GetState | Recupera o estado do filtro (em execução, parado ou pausado). |
| SetSyncSource | Define um relógio de referência para o filtro. |
| GetSyncSource | Recupera o relógio de referência que o filtro está usando. |
| Parar | Interrompe o filtro. |
| Pausa | Pausa o filtro. |
| Executar | Executa o filtro. |
| Métodos IBaseFilter | Descrição |
| Enumpins | Enumera os pinos nesse filtro. |
| Findpin | Recupera o pino com o identificador especificado. |
| QueryFilterInfo | Recupera informações sobre o filtro. |
| Joinfiltergraph | Notifica o filtro de que ele ingressou ou deixou um grafo de filtro. |
| QueryVendorInfo | Recupera uma cadeia de caracteres que contém informações do fornecedor. |
| Métodos IAMovieSetup | Descrição |
| Registrar | Adiciona o filtro ao registro. |
| Cancelar o registro | Remove o filtro do registro. |
Requisitos
| Requisito | Valor |
|---|---|
| parâmetro |
|
| Biblioteca |
|