Método ITStream::SelectTerminal (tapi3if.h)

O método SelectTerminal seleciona um objeto ITTerminal no fluxo.

Sintaxe

HRESULT SelectTerminal(
  [in] ITTerminal *pTerminal
);

Parâmetros

[in] pTerminal

Ponteiro para a interface ITTerminal do terminal selecionado.

Retornar valor

Esse método pode retornar um desses valores.

Valor Significado
S_OK
O método foi bem-sucedido.
E_POINTER
O parâmetro pTerminal não é um ponteiro válido.
E_OUTOFMEMORY
Existe memória insuficiente para executar a operação.
TAPI_E_MAXTERMINALS
Vários terminais foram selecionados no fluxo, mas não é possível misturar ou dividir mídia.
TAPI_E_INVALIDTERMINAL
O terminal selecionado não é válido.

Comentários

Os terminais podem ser selecionados a qualquer momento, independentemente de o transporte estar em um estado que permite transmitir mídia. Se o transporte estiver em um estado que permite transmitir mídia e o aplicativo não tiver invocado com êxito ITStream::P auseStream ou ITStream::StopStream no fluxo ou tiver invocado com êxito ITStream::StartStream para esse fluxo mais recentemente do que invocou com êxito ITStream::P auseStream ou ITStream::StopStream para esse fluxo, o streaming será iniciado automaticamente assim que o terminal for selecionado. Se um terminal for selecionado no fluxo antes que o transporte entre em um estado no qual ele pode transmitir mídia e nenhuma chamada subsequente para StopStream ou PauseStream for feita, o fluxo será iniciado automaticamente quando o transporte entrar em um estado no qual ele pode transmitir mídia.

O evento CME_STREAM_ACTIVE é gerado quando o streaming realmente é iniciado, o que pode ser posterior à chamada SelectTerminal . O evento CME_STREAM_FAIL ou CME_TERMINAL_FAIL é gerado quando o streaming realmente falha, o que também pode ser posterior à chamada SelectTerminal .

Um terminal só poderá ser selecionado em um fluxo se os resultados de ITTerminal::get_MediaType corresponderem a ITStream::get_MediaType. Além disso, alguns MSPs podem exigir uma correspondência entre ITTerminal::get_Direction e ITStream::get_Direction, embora a interface não imponha isso.

Alguns MSPs podem não permitir que mais de um determinado número de terminais, normalmente um, seja selecionado simultaneamente no mesmo fluxo, mas a própria interface não impõe tal restrição. Selecionar vários terminais ao mesmo tempo no mesmo fluxo é útil, por exemplo, para permitir a gravação de um fluxo de áudio de entrada em um arquivo enquanto escuta o fluxo em um par de alto-falantes.

Um determinado terminal pode ser selecionado em apenas um fluxo.

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho tapi3if.h (inclua Tapi3.h)

Confira também

ITStream

MSPI (Interface do Provedor de Serviços de Mídia)