Метод IKsInterfaceHandler::KsProcessMediaSamples (ksproxy.h)
Метод KsProcessMediaSamples обрабатывает примеры мультимедиа.
Синтаксис
HRESULT KsProcessMediaSamples(
[in] IKsDataTypeHandler *KsDataTypeHandler,
[in] IMediaSample **SampleList,
[in, out] PLONG SampleCount,
[in] KSIOOPERATION IoOperation,
[out] PKSSTREAM_SEGMENT *StreamSegment
);
Параметры
[in] KsDataTypeHandler
Указатель на интерфейс IKsDataTypeHandler для обработчика типов данных, который обрабатывает тип мультимедиа, указанный в SampleList. Этот обработчик типа данных содержит конкретные сведения о типе мультимедиа, который передается в потоковую передачу.
[in] SampleList
Указатель на буфер, содержащий массив указателей на интерфейсы IMediaSample для списка примеров мультимедиа для обработки.
[in, out] SampleCount
Указатель на переменную, которая изначально содержит количество выборок в списке SampleList и при возврате получает фактическое количество обработанных выборок.
[in] IoOperation
Значение, указывающее тип операции ввода-вывода. Это значение может быть одним из следующих значений из перечисленного типа KSIOOPERATION:
Значение | Описание |
---|---|
KsIoOperation_Write | Запись данных в поток. |
KsIoOperation_Read | Чтение данных из потока. |
[out] StreamSegment
Указатель на буфер, получающий указатель на структуру KSSTREAM_SEGMENT , содержащую сведения о заголовке для сегмента потока, отправляемого в контакт режима ядра.
Возвращаемое значение
Возвращает NOERROR в случае успешного выполнения; в противном случае возвращает код ошибки.
Комментарии
Метод KsProcessMediaSamples перемещает примеры из или в ранее назначенный контакт фильтра. Заголовок потока инициализируется для представления каждого примера мультимедиа в сегменте потока. Затем выполняются входные и выходные данные (I/O), увеличивается количество элементов ожидания, а поток ввода-вывода прокси-сервера ожидает завершения.
Метод KsProcessMediaSamples вызывает метод KsQueryExtendedSize полученного интерфейса IKsDataTypeHandler для получения размера расширенного заголовка. Если расширенный размер заголовка не указан, KsProcessMediaSamples удаляет указатель на интерфейс IKsDataTypeHandler . Если указан расширенный размер заголовка, KsProcessMediaSamples сохраняет указатель на интерфейс IKsDataTypeHandler до завершения обработки примеров мультимедиа. Затем метод KsProcessMediaSamples выделяет заголовки потока с соответствующими размерами заголовков. Для каждого примера носителя KsProcessMediaSamples инициализирует заголовок, копирует указатели данных, задает метки времени и т. д. Затем каждый пример добавляется в список примеров. Если это операция записи, выборка удерживается путем увеличения числа ссылок.
Дополнительные сведения об IMediaSample см. в документации по Microsoft Windows SDK.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | ksproxy.h (включая Ksproxy.h) |