Leitor de código-fonte
O Leitor de Código-Fonte é uma alternativa ao uso do de Sessão de Mídia e do pipeline do Microsoft Media Foundation para processar dados de mídia.
Por que usar o leitor de código-fonte?
O Media Foundation fornece um pipeline otimizado para reprodução. O pipeline é de ponta a ponta, o que significa que ele lida com o fluxo de dados da origem (como um arquivo de vídeo) até o destino (como a exibição gráfica). No entanto, se você quiser ler ou modificar os dados à medida que eles passam pelo pipeline, deverá escrever um plug-in personalizado. Isso requer um conhecimento bastante profundo do pipeline da Media Foundation. Para determinadas tarefas, criar um novo plug-in é uma sobrecarga excessiva. O leitor de origem é projetado para esse tipo de situação, quando você deseja obter os dados brutos de uma fonte sem a sobrecarga de todo o pipeline.
Internamente, o leitor de origem mantém um ponteiro para uma fonte de mídia. Um de fonte de mídia é um objeto do Media Foundation que gera dados de mídia de uma fonte externa, como um arquivo de mídia ou dispositivo de captura de vídeo. O leitor de origem gerencia todas as chamadas de método para a fonte de mídia. (Para obter mais informações sobre fontes de mídia, consulte Fontes de mídia.)
Se a fonte de mídia fornecer dados compactados, você poderá usar o leitor de origem para decodificar os dados. Nesse caso, o leitor de origem carregará o decodificador correto e gerenciará o fluxo de dados entre a fonte de mídia e o decodificador. O leitor de origem também pode executar algum processamento de vídeo limitado: conversão de cores de YUV para RGB-32 e desentrelaçamento de software, embora essas operações não sejam recomendadas para renderização de vídeo em tempo real. A imagem seguinte ilustra este processo.
O leitor de origem não envia os dados para um destino; cabe ao aplicativo consumir os dados. Por exemplo, o leitor de origem pode ler um arquivo de vídeo, mas não renderizará o vídeo na tela. Além disso, o leitor de origem não gerencia um relógio de apresentação, lida com problemas de temporização ou sincroniza vídeo com áudio.
Considere usar o leitor de código-fonte quando:
- Você deseja obter dados de um arquivo de mídia sem se preocupar com a estrutura de arquivos subjacente.
- Você deseja obter dados de um dispositivo de captura de áudio ou vídeo.
- Suas tarefas de processamento de dados não são sensíveis ao tempo ou você não precisa de um relógio de apresentação.
- Você já tem um pipeline de mídia que não é baseado no Media Foundation e deseja incorporar as fontes de mídia do Media Foundation em seu próprio pipeline.
O leitor de origem não é recomendado nas seguintes situações:
- Para conteúdo protegido. O leitor de origem não suporta gerenciamento de direitos digitais (DRM).
- Se você se preocupa com os detalhes da estrutura do arquivo subjacente. O leitor de origem esconde esse tipo de detalhe.
Nesta secção
Tópico | Descrição |
---|---|
Usando o leitor de origem para processar dados de mídia |
Este tópico descreve como usar o leitor de código-fonte para processar dados de mídia. |
Usando o leitor de código-fonte no modo assíncrono |
Este tópico descreve como usar o leitor de código-fonte no modo assíncrono. |
Tutorial: Decodificação de áudio |
Este tutorial mostra como usar o leitor de código-fonte para decodificar o áudio de um arquivo de mídia e gravar o áudio em um arquivo WAVE. |
Tópicos relacionados