Partager via


ITStream ::SelectTerminal, méthode (tapi3if.h)

La méthode SelectTerminal sélectionne un objet ITTerminal dans le flux.

Syntaxe

HRESULT SelectTerminal(
  [in] ITTerminal *pTerminal
);

Paramètres

[in] pTerminal

Pointeur vers l’interface ITTerminal du terminal sélectionné.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Signification
S_OK
La méthode a réussi.
E_POINTER
Le paramètre pTerminal n’est pas un pointeur valide.
E_OUTOFMEMORY
La mémoire est insuffisante pour effectuer l’opération.
TAPI_E_MAXTERMINALS
Plusieurs terminaux ont été sélectionnés sur le flux, mais le mixage ou le fractionnement des médias n’est pas possible.
TAPI_E_INVALIDTERMINAL
Le terminal sélectionné n’est pas valide.

Remarques

Les terminaux peuvent être sélectionnés à tout moment, que le transport soit dans un état qui lui permet de diffuser du contenu multimédia en continu. Si le transport est dans un état qui lui permet de diffuser du contenu multimédia et que l’application n’a pas correctement appelé ITStream ::P auseStream ou ITStream ::StopStream sur le flux, ou qu’elle a correctement appelé ITStream ::StartStream pour ce flux plus récemment qu’elle n’a appelé itStream ::P auseStream ou ITStream ::StopStream pour ce flux, la diffusion en continu démarre automatiquement dès que le terminal est sélectionné. Si un terminal est sélectionné sur le flux avant que le transport n’entre dans un état dans lequel il peut diffuser du contenu multimédia, et qu’aucun appel ultérieur à StopStream ou PauseStream n’est effectué, le flux démarre automatiquement lorsque le transport entre dans un état dans lequel il peut diffuser du contenu multimédia en continu.

L’événement CME_STREAM_ACTIVE est généré au démarrage réel de la diffusion en continu, ce qui peut être postérieur à l’appel SelectTerminal . L’événement CME_STREAM_FAIL ou CME_TERMINAL_FAIL est généré en cas d’échec de la diffusion en continu, ce qui peut également être postérieur à l’appel SelectTerminal .

Un terminal peut être sélectionné sur un flux uniquement si les résultats d’ITTerminal ::get_MediaType correspondent à ITStream ::get_MediaType. En outre, certains MSP peuvent nécessiter une correspondance entre ITTerminal ::get_Direction et ITStream ::get_Direction, bien que l’interface ne l’applique pas.

Certains MSPs peuvent ne pas autoriser la sélection simultanée de plusieurs terminaux, généralement un, sur le même flux, mais l’interface elle-même n’applique pas cette restriction. La sélection de plusieurs terminaux à la fois sur le même flux est utile, par exemple, pour permettre l’enregistrement d’un flux audio entrant dans un fichier tout en écoutant le flux sur une paire d’haut-parleurs.

Un terminal donné ne peut être sélectionné que sur un seul flux.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête tapi3if.h (inclure Tapi3.h)

Voir aussi

ITStream

Interface MSPI (Media Service Provider Interface)