IAudioInputEndpointRT::GetInputDataPointer 메서드(audioengineendpoint.h)
GetInputDataPointer 메서드는 오디오 엔진에서 데이터를 읽을 버퍼에 대한 포인터를 가져옵니다.
구문
void GetInputDataPointer(
[in, out] APO_CONNECTION_PROPERTY *pConnectionProperty,
[in, out] AE_CURRENT_POSITION *pAeTimeStamp
);
매개 변수
[in, out] pConnectionProperty
APO_CONNECTION_PROPERTY 구조체에 대한 포인터입니다.
호출자는 멤버 값을 다음과 같이 설정합니다.
- pBuffer 가 NULL로 설정됩니다.
- u32ValidFrameCount 에는 검색된 데이터 포인터에 있어야 하는 프레임 수가 포함됩니다. 엔드포인트 개체는 이 정보를 캐시해서는 안됩니다. 오디오 엔진은 처리 요구 사항에 따라 이 숫자를 변경할 수 있습니다.
- u32BufferFlags 는 BUFFER_INVALID 설정됩니다.
- pBuffer는 데이터를 읽은 유효한 메모리를 가리킵니다. 여기에는 u32BufferFlags 멤버에 설정된 플래그에 따라 무음이 포함될 수 있습니다.
- u32ValidFrameCount 는 변경되지 않습니다.
- u32BufferFlags 는 데이터 포인터에 유효한 데이터가 포함된 경우 BUFFER_VALID 또는 데이터 포인터에 자동 데이터만 포함된 경우 BUFFER_SILENT 로 설정됩니다. 버퍼의 데이터는 실제로 무음일 필요는 없지만 pBuffer 에 지정된 버퍼는 필요한 프레임 수와 일치하도록 u32ValidFrameCount 에 포함된 모든 무음 프레임을 보유할 수 있어야 합니다.
[in, out] pAeTimeStamp
버퍼에 캡처된 데이터의 타임스탬프를 포함하는 AE_CURRENT_POSITION 구조체에 대한 포인터입니다. 이 매개 변수는 선택적 요소입니다.
반환 값
없음
설명
이 메서드는 엔드포인트에서 버퍼 pConnectionProperty-pBuffer>로 포인터를 반환합니다. 여기에는 입력으로 엔진에 전달해야 하는 데이터가 포함됩니다. 데이터 및 버퍼 포인터는 IAudioInputEndpointRT::ReleaseInputDataPointer 메서드가 호출될 때까지 유효한 상태를 유지해야 합니다. 엔드포인트 개체는 요청된 정보의 양을 설정하고 유효한 데이터가 없는 경우 침묵을 삽입해야 합니다. 엔드포인트 개체에서 반환된 버퍼 포인터 pConnectionProperty-pBuffer>는 프레임에 맞춰야 합니다. 엔드포인트는 pConnectionProperty 매개 변수에 전달된 연결 속성과 연결된 APO_CONNECTION_PROPERTY 사용할 수 있는 추가 공간을 지원하지 않습니다.
u32ValidFrameCount 멤버에 0을 전달하는 것은 유효한 요청입니다. 이 경우 입력 포인터는 유효해야 하지만 엔드포인트는 해당 포인터에서 읽지 않습니다. pConnectionProperty-u32ValidFrameCount> 값은 엔드포인트에서 지원하는 최대 프레임 수보다 작거나 같아야 합니다. 지원되는 프레임 수를 얻으려면 IAudioEndpoint::GetFramesPerPacket 메서드를 호출합니다.
이 메서드는 실시간 처리 스레드에서 호출할 수 있습니다. 이 메서드의 구현은 차단하거나, 페이징된 메모리에 액세스하거나, 차단 시스템 루틴을 호출해서는 안 됩니다.
원격 데스크톱 서비스 AudioEndpoint API는 원격 데스크톱 시나리오에서 사용됩니다. 클라이언트 애플리케이션용이 아닙니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7 |
지원되는 최소 서버 | Windows Server 2008 R2 |
대상 플랫폼 | Windows |
헤더 | audioengineendpoint.h |