Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En la arquitectura TAPI, todos los CSP se ejecutan en el contexto de TAPISRV, que se implementa como un proceso de servicio dentro de SVCHOST. Las aplicaciones TAPI residen en su propio proceso. Las aplicaciones TAPI cargan Tapi3.dll y los MSP necesarios en su propio proceso, y el ARCHIVO DLL tapi se comunica con TAPISRV a través de una interfaz RPC privada. En el diagrama siguiente se muestra la interacción de estos componentes.
Un proveedor de servicios multimedia (MSP) proporciona streaming multimedia mediante las abstracciones de Terminales, Streams y SubStreams.
Un terminal es un receptor o origen de una secuencia multimedia. Puede ser un objeto físico, como un altavoz o un micrófono, o puede ser una abstracción de un dispositivo, como una ventana de vídeo. El objeto de terminal expone la interfaz deitTerminal. La clase de terminal se describe mediante el GUID de Clase terminal. Un MSP puede definir sus propias clases de terminal.
Las secuencias dividen el medio de una llamada en función del tipo de medio o tipo, la dirección de la secuenciay la dirección de destino del medio. Por ejemplo, una secuencia de audio entrante de un módem es un objeto stream, una secuencia de vídeo saliente a una dirección IP y un puerto es un objeto stream, las secuencias de vídeo procedentes de un grupo de multidifusión IP también se consideran un objeto stream. El objeto Stream se representa mediante la interfazITStreamControl.
SubStreams permite un control más fino sobre los medios. Por ejemplo, en el caso de multidifusión IP, el objeto de secuencia de vídeo entrante podría representar varias personas. La aplicación probablemente querrá que cada participante tenga un representador independiente. La secuencia de vídeo entrante se puede dividir en varias substreams, una para cada persona. Una substream correspondería a una persona y se puede configurar y controlar por separado. El objeto SubStream se representa mediante la interfaz ITSubStreamControl.
Cuando una aplicación llama a ITAddress::CreateCall para configurar una llamada, debe especificar el tipo de medio necesario. En una llamada saliente, simplemente indica a TAPI cuando se crea la llamada. Por ejemplo:
HRESULT hr = pAddress->CreateCall(
pszDestAddress,
lAddressType,
TAPIMEDIATYPE_AUDIO | TAPIMEDIATYPE_VIDEO,
&pCall
);
// If (hr != S_OK ) process the error here
En este caso, la aplicación está creando una llamada saliente de audio-vídeo.
Los tipos de medios pasados indican el medio en el que la aplicación está interesada durante la vigencia de la llamada. Por ejemplo, la aplicación puede especificar audio y vídeo al crear la llamada, pero seleccionar solo terminales de audio al principio. El MSP comenzará a transmitir solo audio, pero no rechazará una solicitud de vídeo local o remota realizada más adelante en la duración de la llamada.
Cuando la aplicación llama a ITBasicCallControl::Connect, TAPI 3 llama TSPI_lineMakeCall en el TSP. Una vez establecida una llamada, el MSP y el TSP pueden comunicarse según sea necesario.
Cuando se desconecta una llamada, es hasta el MSP y el TSP para comunicarse sobre cómo anular la llamada. Tapi3.dll llamará a TSPI_lineDrop si la aplicación llama a Desconectar.