Usando fontes de mídia com a sessão de mídia
Se você estiver usando a Sessão de Mídia para controlar a reprodução, o conjunto de métodos que você deve chamar em uma fonte de mídia será restrito. Esta seção descreve como usar a fonte de mídia em conjunto com a Sessão de Mídia.
Estas são as etapas básicas que seu aplicativo executará:
Crie a fonte de mídia. Para criar uma fonte de mídia, use o resolvedor de origem. Para obter mais informações, consulte Resolvedor de Origem. O resolvedor de origem retorna um ponteiro para a interface IMFMediaSource da origem. (Se você tiver escrito uma fonte de mídia personalizada, poderá fornecer um método de criação personalizado.)
Configure a apresentação. Para configurar a apresentação da origem, chame IMFMediaSource::CreatePresentationDescriptor. Você pode modificar essa cópia, mas as alterações não se tornam ativas até que a reprodução seja iniciada. Não modifique o descritor de apresentação durante a reprodução. Para obter mais informações, consulte Descritores de apresentação.
Crie uma topologia que contenha a fonte de mídia. Para obter mais informações, consulte Topologias.
Use a Sessão de Mídia para controlar a reprodução. A Sessão de Mídia chama métodos na fonte de mídia. O aplicativo não deve chamar nenhum método na fonte de mídia no momento.
Antes de liberar a fonte de mídia, chame IMFMediaSource::Shutdown para desligar a fonte.
Observação
Se você estiver usando a origem do sequenciador, a origem do sequenciador manipulará o desligamento das fontes do segmento. Para obter mais informações, consulte Sequencer Source.
Se você usar a Sessão de Mídia, os únicos métodos que você deve chamar na fonte de mídia serão CreatePresentationDescriptor, GetCharacteristics e Shutdown. Especialmente:
Não chame Iniciar, Pausar ou Parar; esses métodos devem ser chamados apenas pela Sessão de Mídia.
Não chame nenhum método IMFMediaStream .
Não recupere eventos diretamente da fonte de mídia ou de nenhum dos fluxos. A Sessão de Mídia deve receber esses eventos para que o pipeline funcione corretamente. A Sessão de Mídia encaminha todos os eventos necessários para o aplicativo.
Tópicos relacionados