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.
Por padrão, no AVStream, um solicitante adquire quadros vazios de um alocador e os coloca em uma fila. O minidriver então preenche quadros por processamento centrado em pin ou processamento centrado em filtro. Os quadros se movem através de um transporte para o próximo objeto no circuito, eventualmente concluindo o circuito e retornando ao solicitante. Em seguida, o AVStream reutiliza os quadros.
Os minidrivers podem substituir esse comportamento padrão usando o modo de injeção. No modo de injeção, o minidriver é responsável por inserir quadros no circuito. Os quadros se propagam ao redor do circuito da maneira padrão. Quando os quadros retornam ao objeto AVStream em que começaram, o AVStream chama uma rotina AVStrMiniFrameReturn fornecida pelo minidriver.
Nessa rotina, o minidriver poderia, por exemplo, desalocar o quadro, concluir o trabalho pendente no retorno do quadro ou recarregar e reinjetar o quadro.
Para definir o modo de injeção, o minidriver chama KsPinRegisterFrameReturnCallback e fornece um ponteiro para sua rotina AVStrMiniFrameReturn.
Não chameKsPinRegisterFrameReturnCallback, a menos que o filtro esteja no estado de parada.
Para injetar quadros no circuito, chame KsPinSubmitFrame ou KsPinSubmitFrameMdl.
O diagrama abaixo mostra um conjunto de filtros AVStream composto por um filtro de origem, um filtro de transformação insubstituível e um filtro de renderização com os quadros de injeção de origem.