Метод IAudioOutputEndpointRT::ReleaseOutputDataPointer (audioengineendpoint.h)
Метод ReleaseOutputDataPointer освобождает указатель на выходной буфер.
Синтаксис
void ReleaseOutputDataPointer(
[in] const APO_CONNECTION_PROPERTY *pConnectionProperty
);
Параметры
[in] pConnectionProperty
Указатель на структуру APO_CONNECTION_PROPERTY . Значения в структуре изменять нельзя. Вызывающий объект задает элементы следующим образом:
- pBuffer задается в качестве указателя на буфер выходных данных, возвращаемый методом IAudioOutputEndpointRT::GetOutputDataPointer .
- u32ValidFrameCount — это фактическое количество кадров, созданных обработчиком звука. Значение может не совпадать с числом кадров, переданным в параметре u32FrameCount метода GetOutputDataPointer .
- Параметр u32BufferFlags имеет значение BUFFER_VALID , если выходной буфер, на который указывает элемент pBuffer , содержит допустимые данные. Параметр u32BufferFlags имеет значение BUFFER_SILENT , если выходной буфер содержит только автоматические данные. Данные в буфере на самом деле не должны быть тишиной, но буфер, указанный в элементе pBuffer , должен содержать все кадры тишины, содержащиеся в элементе u32ValidFrameCount . Таким образом, если указан BUFFER_SILENT , конечная точка должна записывать тишину в выходном буфере.
Возвращаемое значение
None
Remarks
ReleaseOutputDataPointer уведомляет конечную точку о том, что звуковой модуль выполнил задачу записи данных в выходной буфер и больше не требует указателя данных. Этот метод также передает такие сведения, как время, соответствующее примерам звука в выходном буфере, количество кадров, созданных обработчиком звука, а также то, заполнен ли буфер допустимыми данными или данными тишины. На основе этих сведений конечная точка, представляющая зациклованный буфер и подключенная к выходным данным звукового модуля, может продвинуть позицию записи в буфере. Значение нуля в параметре u32FrameCount метода GetOutputDataPointer указывает на то, что звуковой модуль не записывал допустимые данные в выходной буфер. Значение параметра u32FrameCount должно быть меньше или равно количеству кадров, указанному в GetOutputDataPointer. Конечная точка не должна предполагать, что все данные, запрошенные GetOutputDataPointer , были фактически созданы.
Этот метод можно вызвать из потока обработки в режиме реального времени. Реализация этого метода не должна блокировать, получать доступ к постраничной памяти или вызывать какие-либо блокирующие системные процедуры.
API AudioEndpoint служб удаленных рабочих столов предназначен для использования в сценариях удаленного рабочего стола. Он не предназначен для клиентских приложений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Минимальная версия сервера | Windows Server 2008 R2 |
Целевая платформа | Windows |
Header | audioengineendpoint.h |