Compartilhar via


Método IMFMediaSource::P ause (mfidl.h)

Pausa todos os fluxos ativos na fonte de mídia.

Sintaxe

HRESULT Pause();

Valor retornado

O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.

Código de retorno Descrição
S_OK
O método foi bem-sucedido.
MF_E_INVALID_STATE_TRANSITION
Transição de estado inválida. A fonte de mídia deve estar no estado iniciado.
MF_E_SHUTDOWN
O método Shutdown da fonte de mídia foi chamado.

Comentários

Esse método é assíncrono. Quando a operação for concluída, a fonte de mídia enviará e o evento MESourcePaused e cada fluxo ativo enviará um evento MEStreamPaused . Se o método retornar um código de falha, nenhum evento será gerado.

A fonte de mídia deve estar no estado iniciado. O método falhará se a fonte de mídia estiver pausada ou interrompida.

Enquanto a origem estiver em pausa, as chamadas para IMFMediaStream::RequestSample terão êxito, mas os fluxos não fornecerão nenhuma amostra até que a origem seja iniciada novamente. Observe que a fila de eventos da origem não é serializada com as filas de eventos de fluxo, portanto, o cliente pode receber alguns exemplos após o evento MESourcePaused , devido a problemas de vários threadings. Mas o cliente não receberá nenhuma amostra de um fluxo após o evento MEStreamPaused .

Nem todas as fontes de mídia podem pausar. Se uma fonte de mídia puder pausar, o método IMFMediaSource::GetCharacteristics retornará o sinalizador MFMEDIASOURCE_CAN_PAUSE.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho mfidl.h
Biblioteca Mfuuid.lib

Confira também

IMFMediaSource

Fontes de mídia