Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
No Windows XP Service Pack 1, a Microsoft definiu três conjuntos de propriedades de streaming do kernel e uma enumeração em ksmedia.h para oferecer suporte a dispositivos codificadores somente de vídeo. Cada conjunto de propriedades contém uma única propriedade. Em outras palavras, cada propriedade recebe o seu próprio conjunto de propriedades. Se o driver efetuar chamadas get-property ou Set-property, especifique o GUID do conjunto de propriedades (conforme definido em ksmedia.h) no membro Set da estrutura KSPROPERTY e coloque zero no membro Id ao configurar a chamada:
| Conjunto de propriedades | Descrição |
|---|---|
| ENCAPIPARAM_TAXA_BITE | Implemente este conjunto de propriedades para especificar as taxas de bits de codificação suportadas pelo dispositivo codificador. Consulte Exemplos de código do codificador para obter mais detalhes. |
| ENCAPIPARAM_BITRATE_MODE | Implemente este conjunto de propriedades para especificar os modos de codificação suportados pelo dispositivo. Este conjunto de propriedades usa a enumeração VIDEOENCODER_BITRATE_MODE para especificar os modos suportados. Consulte Exemplos de código do codificador para obter mais detalhes. |
| ENCAPIPARAM_PEAK_BITRATE | Implemente este conjunto de propriedades para especificar a taxa de bits máxima de codificação do dispositivo. |
Os clientes acessam essas propriedades derivando a interface IVideoEncoder COM da interface COM IEncoderAPI (descrita na documentação do Windows Software Development Kit (SDK)).
Um minidriver deve especificar valores padrão para cada uma das propriedades ENCAPIPARAM_Xxx . O tópico Exemplos de código do codificador demonstra como especificar valores de propriedade padrão. Durante o desenvolvimento e a depuração de um filtro de codificador, a página de propriedades atual pode ser acionada a partir de um minidriver que suporta o conjunto de propriedades ENCAPIPARAM_BITRATE.
No DirectX 9.0, seis conjuntos de propriedades adicionais e um conjunto de eventos foram definidos em ksmedia.h para fornecer melhor suporte para uma maior variedade de codificadores, incluindo codificadores somente de áudio. Tal como acontece com as propriedades ENCAPIPARAM_Xxx , cada propriedade recebe o seu próprio conjunto de propriedades:
| Conjunto de propriedades | Descrição |
|---|---|
| CODECAPI_VIDEO_ENCODER | Se o seu dispositivo suportar a codificação de fluxos de vídeo (incluindo áudio auxiliar, como áudio de TV), implemente o suporte para este conjunto de propriedades. |
| CODECAPI_AUDIO_ENCODER | Se o dispositivo for um codificador somente de áudio, implemente o suporte para esse conjunto de propriedades em vez de CODECAPI_VIDEO_ENCODER. |
| CODECAPI_SETALLDEFAULTS | Implemente esse conjunto de propriedades para redefinir todas as configurações internas do dispositivo codificador, como taxa de bits de codificação e modo de codificação para seus valores padrão. |
| CODECAPI_ALLSETTINGS | Implemente esse conjunto de propriedades para comunicar as configurações atuais do dispositivo codificador. Este conjunto de propriedades é usado para comunicação de e para clientes. |
| CODECAPI_SUPPORTSEVENTS | Se o seu dispositivo suportar eventos do modo de utilizador, como para alterar o modo de codificação, a taxa de bits ou outras definições, implemente este conjunto de propriedades. Se você implementar esse conjunto de propriedades, também deverá implementar suporte para o evento CODECAPI_CHANGELISTS. |
| CODECAPI_CURRENTCHANGELIST | Implemente esse conjunto de propriedades para determinar quais parâmetros do codificador foram alterados em uma chamada anterior para definir uma ou mais propriedades do codificador. |
| Conjunto de eventos | Descrição |
|---|---|
Se o dispositivo oferecer suporte à resposta a eventos de modo de usuário por meio do conjunto de propriedades CODECAPI_SUPPORTSEVENTS, implemente esse conjunto de eventos para retornar uma lista de configurações do codificador que foram alteradas como resultado da chamada anterior de propriedade set de um cliente para CODECAPI_SETALLDEFAULTS ou CODECAPI_ALLSETTINGS. |
Os clientes acessam essas propriedades por meio da interface COM ICodecAPI (descrita na documentação do SDK do Windows). Consulte Instalação e registro do codificador para obter mais informações sobre as interfaces COM, incluindo como especificar qual interface KsProxy deve expor.
Um minidriver deve implementar suporte para consultas básicas get-property. O tópico Exemplos de código do codificador demonstra como dar suporte a consultas get-property.
Ao desenvolver um filtro de codificador, mova a funcionalidade de codificação para um filtro separado de um filtro de captura de vídeo. Defina seus próprios meios privados para que os construtores de gráficos possam conectar corretamente o codificador e capturar filtros. Se o seu hardware é capaz de domínio de barramento de conteúdo não codificado, então também pode-se expor mídias públicas. Se você implementar meios públicos e privados, liste os meios privados primeiro porque isso reduz o tempo de construção do gráfico; para encontrar o filtro correto ao criar um gráfico de filtro.
Para obter mais informações sobre como usar médias e várias instâncias de um filtro (em gráficos de filtro separados), consulte Médias e categorias.