Partilhar via


Eventos de sessão de mídia

A maioria das operações da Sessão de Mídia é executada de forma assíncrona, portanto, o aplicativo deve escutar eventos usando a interface IMFMediaEventGenerator da Sessão de Mídia. (A interface IMFMediaSession herda IMFMediaEventGenerator.) A sequência exata de eventos dependerá do aplicativo, mas os eventos a seguir são gerados pela Sessão de Mídia em quase qualquer situação.

Evento Descrição
MEEndOfPresentation Gerado quando a fonte de mídia concluiu a apresentação. Os dados ainda podem estar se movendo pelo pipeline no momento.
MEError Gerado se ocorrer um erro durante o streaming.
MESessionClosed Gerado quando o método Close é concluído. Esse evento é o último evento que a Sessão de Mídia enfileira. Depois de receber esse evento, é seguro desligar todas as fontes de mídia que você criou.
MESessionEnded Gerado quando a Sessão de Mídia é concluída com a última apresentação.
MESessionNotifyPresentationTime Notifica a aplicação da hora da apresentação quando a nova apresentação será iniciada.
MESessionStarted Gerado quando o método Start é concluído. A menos que ocorra um erro, os dados estão se movendo pelo pipeline neste momento.
MESessionTopologySet Gerado quando o método SetTopology é concluído. A menos que ocorra um erro, o aplicativo não precisa executar nenhuma ação.
MESessionTopologyStatus Gerado em vários momentos em que o status de uma topologia é alterado.

 

O método IMFMediaSession::Shutdown não gera um evento. O método Shutdown é síncrono. Depois que esse método retorna, é seguro liberar o ponteiro de retorno de chamada de evento.

Além dos eventos da Sessão de Mídia, o aplicativo pode receber eventos dos coletores de mídia na topologia. Podem ser eventos personalizados definidos pelo coletor de mídia, que podem conter dados arbitrários. Por exemplo, o coletor pode derivar os dados de evento dos dados de origem, que podem ser de uma fonte externa não confiável. Um aplicativo deve ignorar todos os eventos que não reconhece e ter cuidado ao analisar dados de evento.

Sessão de Mídia