Compartir a través de


Método IAudioInputEndpointRT::GetInputDataPointer (audioengineendpoint.h)

El método GetInputDataPointer obtiene un puntero al búfer desde el que el motor de audio leerá los datos.

Sintaxis

void GetInputDataPointer(
  [in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
  [in, out] AE_CURRENT_POSITION     *pAeTimeStamp
);

Parámetros

[in, out] pConnectionProperty

Puntero a una estructura de APO_CONNECTION_PROPERTY .

El autor de la llamada establece los valores de miembro de la siguiente manera:

  • pBuffer se establece en NULL.
  • u32ValidFrameCount contiene el número de fotogramas que deben estar en el puntero de datos recuperado. El objeto de punto de conexión no debe almacenar en caché esta información. El motor de audio puede cambiar este número en función de sus necesidades de procesamiento.
  • u32BufferFlags se establece en BUFFER_INVALID.
Si esta llamada se completa correctamente, el punto de conexión debe establecer los valores de miembro de la siguiente manera:
  • pBuffer apunta a la memoria válida en la que se han leído los datos. Esto podría incluir silencio en función de las marcas establecidas en el miembro u32BufferFlags .
  • u32ValidFrameCount no ha cambiado.
  • u32BufferFlags se establece en BUFFER_VALID si el puntero de datos contiene datos válidos o para BUFFER_SILENT si el puntero de datos solo contiene datos silenciosos. Los datos del búfer no necesitan ser silencios, pero el búfer especificado en pBuffer debe ser capaz de contener todos los fotogramas de silencio contenidos en u32ValidFrameCount para que coincidan con el recuento de fotogramas necesario.

[in, out] pAeTimeStamp

Puntero a una estructura de AE_CURRENT_POSITION que contiene la marca de tiempo de los datos capturados en el búfer. Este parámetro es opcional.

Valor devuelto

None

Observaciones

Este método devuelve un puntero del punto de conexión al búfer pConnectionProperty-pBuffer>, que contiene datos que deben pasarse al motor como entrada. Los datos y el puntero del búfer deben permanecer válidos hasta que se llame al método IAudioInputEndpointRT::ReleaseInputDataPointer . El objeto de punto de conexión debe establecer la cantidad solicitada de información e insertar silencio si no existe ningún dato válido. El puntero del búfer, pConnectionProperty-pBuffer>, devuelto por el objeto de punto de conexión debe estar alineado con el marco. Los puntos de conexión no admiten el espacio adicional, que puede estar disponible en el APO_CONNECTION_PROPERTY asociado a las propiedades de conexión pasadas en el parámetro pConnectionProperty .

Pasar cero en el miembro u32ValidFrameCount es una solicitud válida. En este caso, el puntero de entrada debe ser válido, pero el punto de conexión no lo lee. El valor pConnectionProperty-u32ValidFrameCount> debe ser menor o igual que el número máximo de fotogramas admitido por el punto de conexión. Para obtener el número admitido de fotogramas, llame al método IAudioEndpoint::GetFramesPerPacket .

Se puede llamar a este método desde un subproceso de procesamiento en tiempo real. La implementación de este método no debe bloquear, acceder a la memoria paginada ni llamar a las rutinas del sistema de bloqueo.

La API AudioEndpoint de Servicios de Escritorio remoto es para su uso en escenarios de Escritorio remoto; no es para las aplicaciones cliente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7
Servidor mínimo compatible Windows Server 2008 R2
Plataforma de destino Windows
Encabezado audioengineendpoint.h

Consulte también

IAudioInputEndpointRT