다음을 통해 공유


IAudioOutputEndpointRT::ReleaseOutputDataPointer 메서드(audioengineendpoint.h)

ReleaseOutputDataPointer 메서드는 출력 버퍼에 대한 포인터를 해제합니다.

구문

void ReleaseOutputDataPointer(
  [in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);

매개 변수

[in] pConnectionProperty

APO_CONNECTION_PROPERTY 구조체에 대한 포인터입니다. 구조체의 값은 변경하면 안 됩니다. 호출자는 멤버를 다음과 같이 설정합니다.

  • pBufferIAudioOutputEndpointRT::GetOutputDataPointer 메서드에서 반환된 출력 데이터 버퍼에 대한 포인터로 설정됩니다.
  • u32ValidFrameCount 는 오디오 엔진에서 생성된 실제 프레임 수로 설정됩니다. 값은 GetOutputDataPointer 메서드의 u32FrameCount 매개 변수에 전달된 프레임 수와 같지 않을 수 있습니다.
  • pBuffer 멤버가 가리키는 출력 버퍼에 유효한 데이터가 포함된 경우 u32BufferFlagsBUFFER_VALID 설정됩니다. 출력 버퍼에 자동 데이터만 포함된 경우 u32BufferFlagsBUFFER_SILENT 설정됩니다. 버퍼의 데이터는 실제로 무음일 필요는 없지만 pBuffer 멤버에 지정된 버퍼는 u32ValidFrameCount 멤버에 포함된 모든 무음 프레임을 보유할 수 있어야 합니다. 따라서 BUFFER_SILENT 지정되면 엔드포인트는 출력 버퍼에 무음으로 작성해야 합니다.

반환 값

없음

설명

ReleaseOutputDataPointer 는 오디오 엔진이 출력 버퍼에 데이터를 쓰는 작업을 완료했으며 더 이상 데이터 포인터가 필요하지 않음을 엔드포인트에 알릴 수 있습니다. 또한 이 메서드는 출력 버퍼의 오디오 샘플에 해당하는 시간, 오디오 엔진에서 생성된 프레임 수, 버퍼가 유효한 데이터 또는 무음 데이터로 가득 찬지 여부와 같은 정보를 릴레이합니다. 이 정보에 따라 루프된 버퍼를 나타내고 오디오 엔진의 출력에 연결된 엔드포인트는 버퍼에서 쓰기 위치를 진행할 수 있습니다. GetOutputDataPointer 메서드의 u32FrameCount 매개 변수에서 값이 0이면 오디오 엔진이 출력 버퍼에 유효한 데이터를 쓰지 않았음을 나타냅니다. u32FrameCount 매개 변수 값은 GetOutputDataPointer에 지정된 프레임 수보다 작거나 같아야 합니다. 엔드포인트는 GetOutputDataPointer 에서 요청한 모든 데이터가 실제로 생성되었다고 가정해서는 안 됩니다.

이 메서드는 실시간 처리 스레드에서 호출할 수 있습니다. 이 메서드의 구현은 차단하거나, 페이징된 메모리에 액세스하거나, 차단 시스템 루틴을 호출해서는 안 됩니다.

원격 데스크톱 서비스 AudioEndpoint API는 원격 데스크톱 시나리오에서 사용됩니다. 클라이언트 애플리케이션용이 아닙니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7
지원되는 최소 서버 Windows Server 2008 R2
대상 플랫폼 Windows
헤더 audioengineendpoint.h

추가 정보

IAudioOutputEndpointRT