Метод COutputQueue.NewSegment
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Метод NewSegment
доставляет новый сегмент во входной контакт.
Синтаксис
HRESULT NewSegment(
REFERENCE_TIME tStart,
REFERENCE_TIME tStop,
double dRate
);
Параметры
-
tStart
-
Начальная позиция носителя сегмента в единицах 100 наносекунд.
-
tStop
-
Позиция конечного носителя сегмента в единицах 100 наносекунд.
-
DRate
-
Скорость обработки этого сегмента в процентах от первоначальной скорости.
Возвращаемое значение
Возвращает значение HRESULT .
Комментарии
Если объект использует поток, он помещает в очередь следующие элементы по порядку:
- Сообщение элемента управления NEW_SEGMENT.
- Данные сегмента.
Сообщение NEW_SEGMENT уведомляет поток о том, что следующий элемент в очереди будет содержать данные сегмента. Данные сегмента объединяются в структуру, объявленную следующим образом:
struct NewSegmentPacket {
REFERENCE_TIME tStart;
REFERENCE_TIME tStop;
double dRate;
};
Поток вызывает метод IPin::NewSegment для входного контакта, используя данные, указанные в структуре .
Если объект не использует поток, он вызывает метод COutputQueue::SendAnyway для доставки всех ожидающих выборок. Затем он вызывает IPin::NewSegment для пин-кода ввода.
Требования
Требование | Значение |
---|---|
Заголовок |
|
Библиотека |
|