CBaseVideoRenderer 类

[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayerIMFMediaEngine媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

cbasevideorenderer 类层次结构

CBaseVideoRenderer 类用于生成视频呈现器筛选器。

受保护的数据成员 说明
m_bDrawLateFrames 指示不删除任何帧的标志。 仅调试。 这会销毁同步。
m_bSupplierHandlingQuality TRUE 表示正在处理质量控制消息。 这样,呈现器就可以知道要等到尽可能晚地放置帧本身,并在供应商放置帧后很早地显示下一帧。
m_cFramesDrawn 自流式处理开始以来已绘制的帧总数。
m_cFramesDropped 自流式处理开始以来在呈现器中丢弃的累积帧。 也可以在不让呈现器识别的情况下上游删除帧。
m_idDecision ShouldDrawSampleNow 决策代码的MSR_id。
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_trLatem_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 对象。