Compartilhar via


Test Cases for the DirectShow Playback and Latency Tests

Windows Mobile Not SupportedWindows Embedded CE Supported

9/8/2008

Esta seção mostra as ocorrências testar conforme fornecido no arquivo XML, os testes em binário de testar e os verificadores em binário a testar.

Teste de ocorrências na reprodução do DirectShow e testes de latência

A seguinte tabela mostra os casos testar para a reprodução do DirectShow e testes de latência.

Testar maiúsculas e minúsculas Descrição

0

Crie testar verificação (BVT): Compilação Gráfico - adicionar um filtro origem - Verifique se esse filtro origem é adicionado, para esta mídia específica

Para juntar a mídia especificada, ela irá verificar se tivermos um filtro origem que corresponderá.

1

BVT: Gráfico compilação - Carregar filtro preferencial - verificar que o gráfico correto obtém compilado, forçando determinados filtros para ser presente

Atualmente configurado para um juntar WMV. Irá forçar carregamento do filtro WM Source e, em seguida, tentar criar o gráfico inteiro filtro.

Pode forçar Carregamento de outro filtro, especificando o dois-pontos separados nomes a < Lista de Filtros > </Lista de Filtros > marca

2

BVT: Gráfico compilação - pino de processamento para um completo gráfico - verificar que podemos processar um gráfico de filtro de origem em diante

Adicione filtro de origem para o URL. Tentar conectar os pinos desconectados do filtro de origem.

3

BVT: Compilação Gráfico - origem conectar inteligente para coletor - verificar que podemos conectar o Source Filter para o processador

Atualmente configurado para um juntar WMV.

Irá forçar Carregamento de filtro de origem e o filtro processador especificados. Eles são especificados como nomes dois-pontos separados na < Lista de Filtros > </Lista de Filtros > i marca. Primeiro filtro encontra, ele considera o filtro origem, segundo filtro considera como o processador.

4

BVT: Gráfico compilação - gráfico compilar para com suporte mídia - verificar que será RenderFile compilar o gráfico correto

Chama RenderFile sobre o URL especificado

Verifica que o seguinte filtros estão no gráfico: Filtro WM Source, distribuidor de objetos, WMV decodificador, Video Renderer. Isso pode ser atualizado pelos alterando o < CorrectGraph > </CorrectGraph > marca

5

BVT: Gráfico compilação - gráfico compilar para com suporte mídias e interfaces consulta - verificar se as interfaces corretas existem no gráfico

Chama RenderFile sobre o URL especificado. Interfaces consultas o gráfico criado para o seguinte: IMediaControl, IMediaEvent, IMediaSeeking

100

Testar duração reprodução: Reprodução reprodução - testar a reprodução manual - Gráfico um juntar verificar manualmente e secreta/falhas de testar

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia e aguarda verificação manual a partir de testador as to se o juntar executado conforme o esperado. Este testar espera interação Tester.

Será Por padrão Play de juntar do início ao final, mas pode especificar % posiciona a Play de como uma lista separados por vírgula na < PositionList > </PositionList > marca. Teste pressupõe primeira posição é iniciar posição, segunda posição especificada é posição parar.

101

Testar duração reprodução: Copiar reprodução - testar a reprodução manual - Gráfico um juntar a disco rígido primeiro e, em seguida, juntar a reprodução, verificar manualmente e testar PASS/fail

Copia o juntar de mídia especificado na URL Down to dispositivo pela primeira vez. Pode especificar localidade para copiar no < DownloadTo > </DownloadTo > marca. No momento, ele é definido como \Hard Disk\.

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia e aguarda verificação manual a partir de testador as to se o juntar executado conforme o esperado. Este testar espera interação Tester.

Será Por padrão Play de juntar do início ao final, mas pode especificar % posiciona a Play de como uma lista separados por vírgula na < PositionList > </PositionList > marca. Teste pressupõe primeira posição é iniciar posição, segunda posição especificada é posição parar.

102

Testar duração reprodução: Duração verificar reprodução - testar a reprodução end-end - Gráfico, verificar ele executados até final

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia.

Será Por padrão Play de juntar do início ao final, mas pode especificar % posiciona a Play de como uma lista separados por vírgula na < PositionList > </PositionList > marca. Teste pressupõe primeira posição é iniciar posição, segunda posição especificada é posição parar.

200

Testar latência de inicialização: Latência inicialização verificar reprodução - testar a reprodução end-end - Gráfico

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Verifica que o tempo de solicitando o juntar a Play para o tempo o primeiro exemplo vem out of o decodificador está em um limite especificado.

Será Por padrão Play de juntar do início ao final, mas pode especificar % posiciona a Play de como uma lista separados por vírgula na < PositionList > </PositionList > marca. Teste pressupõe primeira posição é iniciar posição, segunda posição especificada é posição parar.

201

Testar latência de inicialização: Gráfico de reprodução - testar a reprodução end-end - verificar inicialização latência, de conteúdo maior taxa de bits

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Verifica que o tempo de solicitando o juntar a Play para o tempo o primeiro exemplo vem out of o decodificador está em um limite especificado.

Será Por padrão Play de juntar do início ao final, mas pode especificar % posiciona a Play de como uma lista separados por vírgula na < PositionList > </PositionList > marca. Teste pressupõe primeira posição é iniciar posição, segunda posição especificada é posição parar.

300

Estado alteração/testar latência: Reprodução Gráfico - estado testar alteração - verificar estado alteração (reproduzir a pausa) e latência medida

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Verifica quanto tempo leva para alteração gráfico estados, de Play a pausa & voltar.

Pode especificar o estado as alterações necessárias para atualizar vírgula separados lista no < StateChangeSequence > </StateChangeSequence > marca.

  • Primeiro item é o estado inicial para iniciar, atualmente parado
  • Tipo = que informa ao alternar entre. As opções válidas: PlayPause, PlayStop, PauseStop, PlayPauseStop, RandomSequence, PlayPause no momento
  • HowMany = quantas vezes para alternar os estados e latência medida, atualmente 50
  • TimeBetween = tempo em MS para dormir entre cada estado alteração, no momento 50 MS

301

Estado alteração/testar latência: Reprodução Gráfico - estado testar alteração - verificar estado alteração (estado aleatório muda) e latência medida

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Verifica quanto tempo leva para alteração gráfico estados. Ele irá aleatoriamente alternar entre Play, pausa e parar estados.

Pode especificar o estado as alterações necessárias para atualizar vírgula separados lista no < StateChangeSequence > </StateChangeSequence > marca.

  • Primeiro item é o estado inicial para iniciar, atualmente parado
  • Tipo = que informa ao alternar entre. As opções válidas: PlayPause, PlayStop, PauseStop, PlayPauseStop, RandomSequence, RandomeSequence no momento
  • HowMany = quantas vezes para alternar os estados e latência medida, atualmente 50
  • TimeBetween = tempo em MS para dormir entre cada estado alteração, no momento 500 MS

302

Estado alteração/testar latência: Reprodução Gráfico - estado testar alteração - verificar estado (executar para parar) latência alteração e medida

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Verifica quanto tempo leva para alteração gráfico estados. Ele irá alternar entre os estados parar e Play.

Pode especificar o estado as alterações necessárias para atualizar vírgula separados lista no < StateChangeSequence > </StateChangeSequence > marca.

  • Primeiro item é o estado inicial para iniciar, atualmente parado
  • Tipo = que informa ao alternar entre. As opções válidas: PlayPause, PlayStop, PauseStop, PlayPauseStop, RandomSequence, PlayStop no momento
  • HowMany = quantas vezes para alternar os estados e latência medida, atualmente 50
  • TimeBetween = tempo em MS para dormir entre cada estado alteração, no momento 500 MS

303

Estado alteração/testar latência: Reprodução Gráfico - executar, pausa, executar - verificar latência do primeiro exemplo venham out of o decodificador, após executar chamado

Chama RenderFile sobre o URL especificado. Reproduz o juntar de mídia. Pausa o juntar e reproduz o novamente. Mede quanto tempo leva para o primeiro exemplo out of o vídeo get decodificador após a chamar para executar/Play.

Testes em binário de teste

A seguinte tabela mostra a individual testes encontrado no binário testar.

Teste Descrição

EmptyGraphQueryInterfaceTest

Compilar Gráfico

  1. Consultas um vazio filtro gráfico para comum interfaces.
  2. Falhar de testar se alguns do comum interfaces não são retornadas. As interfaces essenciais são consideradas como IMediaControl, IMediaEvent, IMediaSeeking.

AddSourceFilterTest

Compilar Gráfico

  1. Adiciona um filtro origem de mídia que é com suporte.
  2. Falha de testar se malsucedido.

AddUnsupportedSourceFilterTest

Compilar Gráfico

  1. Adiciona um filtro origem de mídia que é sem suporte.
  2. Falha de testar se bem-sucedido.

BuildGraphTest

Compilar Gráfico

  1. Verificação inicia
  2. Cria um filtro gráfico usando RenderFile Para especificado de mídia.
  3. Obtém resultados da verificação
  4. Falha de testar se malsucedido ou se verificação falha

Verificadores:

  • Manipula BuildGraphLatency Dentro de testar
  • Qualquer apropriado Verificador

BuildGraphMultipleTest

Compilar Gráfico

  1. Cria um filtro gráfico usando repetidamente RenderFile Para especificado de mídia. O número de repetições é 10 Por padrão.
  2. Falha de testar se qualquer um do RenderFile Chamadas for malsucedido.

BuildGraphQueryInterfaceTest

Compilar Gráfico

  1. Cria um filtro gráfico usando RenderFile Para especificado de mídia.
  2. Falha de testar se malsucedido.
  3. Consulta o gráfico para interfaces essenciais.
  4. Falha de testar se qualquer uma das interfaces essenciais não são retornados - as interfaces essenciais são consideradas como IMediaControl, IMediaEvent, IMediaSeeking.

BuildGraphUnsupportedMediaTest

Compilar Gráfico

  1. Cria um filtro gráfico usando RenderFile Para a mídia que é sem suporte.
  2. Falha de testar se bem-sucedido.

BuildMultipleGraphTest

Compilar Gráfico

  1. Cria múltiplo gráficos filtro para a lista de mídia especificada no arquivo de configuração para esta testar.
  2. Falha de testar se compilação o gráfico falha por qualquer uma da mídia especificada.

RenderPinTest

Compilar Gráfico

  1. Adiciona um filtro origem para a mídia que está com suporte e processa todos os pinos desconectados do filtro de origem.
  2. A falha testar se adicionar filtro de origem não tiver êxito ou processamento de pinos desconectados não terá êxito.

ConnectSourceFilterToRendererTest

Compilar Gráfico

  1. Recupera os filtros de origem e processador especificados em arquivo de configuração.
  2. Adiciona os filtros de origem e processador.
  3. Carrega o filtro origem com a URL de mídia especificado.
  4. Conecta-se a pinos zeroth da origem e filtro processador usando conectar inteligente.
  5. Teste falha se adicionar o filtro origem e processador falhar ou configuração de mídia falha ou se conectando a origem e processador falha.

BuildGraphPreLoadFilterTest

Compilar Gráfico

  1. Recuperar a lista de filtros a ser pré-carregadas especificado na arquivo de configuração
  2. Carregar os filtros em um vazio gráfico.
  3. RenderFile a mídia especificada.
  4. Verifique se os filtros carregados tem at-least entrada um pino (se houver) e saída pino (se houver) conectado.

ManualPlaybackTest

Reprodução Gráfico

  1. Cria gráfico para a mídia especificada.
  2. Conjuntos iniciar e parar posições (se houver)
  3. Inicia a reprodução e espera pela conclusão com um tempo limite de duas vezes a duração esperada reprodução.
  4. Solicita o testador se reprodução foi bem-sucedido com nenhuma ou alguns problemas?
  5. Retorna secretas/falhas depending on resposta.

PlaybackTest

Reprodução Gráfico

  1. Cria gráfico para a mídia especificada.
  2. Permite especificar verificadores.
  3. VerifyPlaybackDuration é tratado intrinsecamente.
  4. Conjuntos iniciar e parar posições (se houver)
  5. Inicia verificação.
  6. Estado de gráfico alterações para execução
  7. Espera pela conclusão com um tempo limite de duas vezes a duração
  8. Obtém resultados da verificação
  9. Falha de testar se aguardar conclusão falhar ou qualquer um dos verificadores falhar

Verificadores:

Fazer não mixar VerifyPlaybackDuration e StartupLatency. A testar internamente usa StartupLatency Para determinar a reprodução duração.

PlaybackDurationTest

Reprodução Gráfico

  1. Cria gráfico para a mídia especificada.
  2. Permite que VerifyPlaybackDuration verifier
  3. Conjuntos iniciar e parar posições (se houver)
  4. Verificação inicia
  5. Estado de gráfico alterações para execução
  6. Espera pela conclusão com um tempo limite de duas vezes a duração
  7. Consulta o Verificador de tempo exemplo primeiro e o tempo EOS.
  8. Calcular o tempo latência EC de conclusão e a real duração de reprodução do primeiro exemplo para comparar contra um limite usar como padrão e EOS.

MultiplePlaybackTest

Reprodução Gráfico

  1. Para cada uma da mídia especificada, criar instância um testar gráfico objeto e definir a mídia.
  2. Criar gráficos para cada um de mídia
  3. Obter evento alças de cada um dos gráficos de testar
  4. Alterar cada um dos gráficos de testar ao estado em execução
  5. Aguarde a conclusão em todas as alças de com tempo limite infinito
  6. Teste for bem-sucedido de espera é bem-sucedida.

StateChangeTest

Alteração de estado

  1. Cria gráfico para a mídia especificada.
  2. VerifyStateChangeLatency é tratado intrinsecamente.
  3. Alterar estados de acordo com a seqüência e contagem especificados.
  4. Falha de testar o estado latência alteração foi sobre o limite ou se qualquer uma das alterações de estado falhar

Verificadores:

Somente VerifyStateChangeLatency

Run_Pause_Run_Test

Alteração de estado

  1. Cria gráfico para a mídia especificada.
  2. Permite especificar verificadores.
  3. Inicia verificação.
  4. Define o gráfico que executam O estado.
  5. Espera
  6. Define o gráfico de estado em pausa
  7. Espera
  8. Iniciar verificação
  9. Definir o gráfico em execução estado
  10. Obtenha resultados verificação
  11. Falha de testar se qualquer um do estado altera falhas ou qualquer um das falhas verificadores

Verificadores:

Qualquer apropriado Verificador

Verificadores em binário de teste

A maioria do trabalho verificadores inserindo um filtro tocar no DirectShow filtro gráfico existente. Quando o verificador é criado, ele decide onde ele quer um filtro tocar inserido e o gráfico testar irá adicioná-lo para o verificador (de exemplo, entre o vídeo decodificador e o vídeo processador). Em seguida, o verificador registra retornos de chamada para o filtro tocar.

O filtro tocar não faz nada aos exemplos e mensagens passar por ele. Ele atua como uma passagem e só as passa-la como está para pino sua saída. No entanto, cada tempo que ele obtém um exemplo ou uma mensagem, ele sinaliza a callback registrado para os verificadores. Assim, os verificadores sabe do que está acontecendo no gráfico, incluindo o exemplo no momento está saindo do filtro e podem verificar quando necessário.

A seguinte tabela mostra os verificadores incluídos no binário testar.

Verifier Verificações com suporte

DecoderOutputLatencyVerifier

DecodedVideoLatencyPauseToFirstSample

Mede a latência do próximo pausa para o primeiro exemplo recebido após a pausa na saída do vídeo decodificador.

DecodedVideoLatencyRunToFirstSample

Medidas de latência do próximo executar para o primeiro exemplo recebido após a executar na saída do vídeo decodificador.

GraphBuildVerifier

CorrectGraph

Essa verificação verifica se os filtros especificados estão no filtro-gráfico.

PlaybackDurationVerifier

VerifyPlaybackDuration

Isso mede o tempo a partir de iniciar o verificador de para o tempo exemplo primeiro e, em seguida, para o tempo que EOS é recebido. O chamador é responsável por fazer as medidas e verificando.

SampleDeliveryVerifier

VerifySampleDelivered

Esse procedimento verifica se um exemplo é entregue em uma localidade especificada no gráfico após um evento especificado.

StartupLatencyVerifier

StartupLatency

Isso mede a latência do primeiro exemplo a ser recebida após o verificador é iniciado.

See Also

Other Resources

DirectShow Playback and Latency Tests