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 |
---|---|
|
O método foi bem-sucedido. |
|
O parâmetro pTerminal não é um ponteiro válido. |
|
Existe memória insuficiente para executar a operação. |
|
Vários terminais foram selecionados no fluxo, mas não é possível misturar ou dividir mídia. |
|
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) |