Поделиться через


Класс CBaseVideoRenderer

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Иерархия классов cbasevideorenderer

Базовый CBaseVideoRenderer класс используется для создания фильтров отрисовщика видео.

Защищенные члены данных Описание
m_bDrawLateFrames Флаг, указывающий, что кадры не удаляются. Только отладка. Это разрушает синхронизацию.
m_bSupplierHandlingQuality Значение TRUE указывает, что обрабатываются сообщения контроля качества. Это позволяет отрисовщику подождать как можно позже, чтобы удалить сами кадры, и отобразить следующий кадр очень рано после того, как поставщик убрал кадр.
m_cFramesDrawn Общее количество кадров, которые были нарисованы с момента начала потоковой передачи.
m_cFramesDropped Совокупные кадры, которые были удалены в отрисовщике с момента запуска потоковой передачи. Кадры также можно удалять вышестоящий без их распознавания отрисовщиком.
m_idDecision MSR_id для кода принятия решения ShouldDrawSampleNow.
m_idDuration MSR_id для длительности кадра.
m_idFrameAccuracy Идентификатор журнала производительности для времени в миллисекундах, когда кадр был запаздыв.
m_idFrameAvg Идентификатор журнала производительности для среднего времени кадра, используемого для синхронизации и контроля качества.
m_idQualityRate MSR_id запрашиваемого уровня качества.
m_idQualityTime MSR_id для запрошенного времени качества.
m_idRenderAvg Идентификатор журнала производительности для среднего записанного времени отрисовщика.
m_idSchLateTime MSR_id, насколько поздно кадр был запланирован.
m_idSendQuality MSR_id время отправки уведомлений (неиспользуемых).
m_idTimeStamp MSR_id для метки времени кадра.
m_idWait Идентификатор журнала производительности для записанного времени ожидания (неиспользуемого).
m_idWaitReal Идентификатор журнала производительности для истинного времени ожидания.
m_iSumFrameTime Сумма времени межфрейма; требуется для страницы свойств.
m_iSumSqAcc Сумма квадратов точности (в миллисекундах), необходимых для страницы свойств.
m_iSumSqFrameTime Сумма квадратов времени межфрейма; требуется для страницы свойств.
m_iTotAcc Сумма точности (в миллисекундах), необходимых для страницы свойств.
m_nNormal Количество последовательных кадров, нарисованных в запланированное время. Отрицательное число указывает, что кадр только что был удален отрисовщиком.
m_trDuration Длительность последнего кадра (разница между временем начала и окончания).
m_trEarliness Как рано можно воспроизводить кадр, когда кадр только что был удален.
m_trFrame Последнее записанное время между кадрами. Используется в статистических измерениях.
m_trFrameAvg Среднее время межкадрового интервала в единицах времени отсчета.
m_trLastDraw Время предыдущего кадра. Используется для ссылок между кадрами времени.
m_trLate Время задержки текущего кадра. Используется в статистических измерениях.
m_trRenderAvg Время, за которое требуется кадрам для передачи битовых блоков.
m_trRenderLast Время передачи последнего битового блока кадра.
m_trRenderStart Время начала передачи битового блока. Используется для получения m_trRenderLast.
m_trThrottle Период вставки после отрисовки каждого кадра, как правило, используется при повышении качества звука и снижении производительности видео для этого.
m_trWaitAvg Среднее время ожидания в единицах ссылочного времени.
m_tStreamingStart Используется для статистики страниц свойств. Представляет время начала текущего процесса потоковой передачи или предыдущего процесса потоковой передачи, если он не является текущим.
Функции элементов Описание
CBaseVideoRenderer Создает объект CBaseVideoRenderer .
GetStdDev Оценивает стандартное отклонение в миллисекундах между сроком выполнения каждого кадра и фактическим отображением для статистики по кадру.
PreparePerformanceData Задает значения m_trLate и m_trFrame текущего кадра.
ThrottleWait Вставляет период ожидания после каждого кадра.
Переопределимые функции-члены Описание
JoinFilterGraph Отправляет событие EC_WINDOW_DESTROYED при удалении фильтра из графа фильтра.
OnDirectRender Собирает сведения о времени, которые управляют синхронизацией и контролем качества.
OnRenderEnd Записывает сведения для контроля качества и синхронизации.
OnRenderStart Записывает сведения для контроля качества и синхронизации.
OnStartStreaming Сбрасывает все время управления потоковой передачей.
OnStopStreaming Вызывается в конце потоковой передачи, чтобы исправить время отчета на странице свойств.
OnWaitEnd Вызывается по истечении времени ожидания. Только ведение журнала производительности.
OnWaitStart Обновления времени, потраченного на ожидание, а не на ожидание. Только ведение журнала производительности.
RecordFrameLateness Записывает, как своевременно выполнялась отрисовка, и собирает статистику для страницы свойств.
ResetStreamingTimes Сбрасывает все время управления потоковой передачей.
ScheduleSample Устанавливает ссылку на советы с часами.
SendQuality Отправляет сообщение о качестве, чтобы указать, что поставщик должен делать с качеством.
ShouldDrawSampleNow Определяет, следует ли отрисовывать видео в момент его окончания, не устанавливая ссылку таймера с часами.
Методы IQualProp Описание
get_Avg FrameRate Извлекает среднюю частоту кадров с момента начала потоковой передачи в кадрах за 100 секунд.
get_AvgSyncOffset Извлекает среднее время (в миллисекундах) между временем выполнения каждого кадра и фактической отрисовки. Это относится ко всем кадрам с момента начала потоковой передачи.
get_DevSyncOffset Извлекает стандартное отклонение времени в миллисекундах между временем выполнения каждого кадра и фактическим отображением для всех кадров с момента начала потоковой передачи.
get_FramesDrawn Извлекает количество кадров, нарисованных с момента начала потоковой передачи.
get_FramesDroppedInRenderer Извлекает количество кадров, удаленных отрисовщиком. Кадры также можно удалять вышестоящий.
get_Jitter Извлекает стандартное отклонение времени в миллисекундах между каждым кадром и следующим. Это относится ко всем кадрам с момента начала потоковой передачи.
Методы IQualityControl Описание
Уведомление Уведомляет получателя о запросе изменения качества.
SetSink Задает объект IQualityControl , который будет получать сообщения о качестве.