Modelo de objeto de origem de mídia
Este tópico descreve o modelo de objeto para fontes de mídia no Microsoft Media Foundation. Uma fonte de mídia deve implementar dois objetos:
- Um descritor de apresentação, que descreve o conteúdo da origem, incluindo o número de fluxos e o formato de cada fluxo. Para obter mais informações sobre descritores de apresentação, consulte Descritores de apresentação.
- Um ou mais fluxos de mídia, que geram os dados de origem.
A origem não cria os fluxos até que a reprodução seja iniciada.
Interfaces de origem de mídia
Uma fonte de mídia deve expor as interfaces a seguir por meio de QueryInterface.
Interface | Descrição |
---|---|
IMFMediaSource | Necessário para todas as fontes de mídia. |
IMFMediaEventGenerator | Necessário para todas as fontes de mídia. A interface IMFMediaSource herda essa interface. |
Opcionalmente, uma fonte de mídia pode implementar a interface IMFGetService e implementar qualquer uma das seguintes interfaces como serviços:
Interface de serviço | Descrição |
---|---|
IMFRateControl | Controla a taxa de reprodução. |
IMFRateSupport | Relata o intervalo de taxas de reprodução com suporte. |
IMFQualityAdvise | Permite que o gerenciador de qualidade ajuste a qualidade de áudio ou vídeo. |
IMFMetadataProvider | Fornece metadados. |
Se a fonte de mídia puder ser reproduzida a taxas diferentes da velocidade normal (1,0), ela deverá expor o serviço de controle de taxa (IMFRateControl e IMFRateSupport). Caso contrário, supõe-se que a origem só dá suporte à reprodução em velocidade normal. Para obter mais informações, consulte Implementando o controle de taxa.
Para obter mais informações sobre interfaces de serviço e IMFGetService, consulte Interfaces de serviço.
Interfaces de fluxo de mídia
Os fluxos de mídia devem implementar as interfaces a seguir.
Interface | Descrição |
---|---|
IMFMediaStream | Necessário para todos os fluxos de mídia. |
IMFMediaEventGenerator | Necessário para todos os fluxos de mídia. A interface IMFMediaStream herda essa interface. |
Atualmente, nenhuma interface de serviço é definida para fluxos de mídia.
Tópicos relacionados