CBaseRenderer.ShouldDrawSampleNow 方法

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

方法 ShouldDrawSampleNow 确定如何为呈现计划示例。

语法

virtual HRESULT ShouldDrawSampleNow(
   IMediaSample   *pMediaSample,
   REFERENCE_TIME *pStartTime,
   REFERENCE_TIME *pEndTime
);

参数

pMediaSample

指向示例 IMediaSample 接口的指针。

pStartTime

指向包含示例开始时间的变量的指针。

pEndTime

指向包含示例结束时间的变量的指针。

返回值

返回S_FALSE。 如果派生类重写此方法,则返回下表中显示的值之一。

返回代码 说明
S_OK
应立即呈现示例。
S_FALSE
应根据时间戳安排示例的呈现。
错误代码
不要呈现此示例。

备注

CBaseRenderer::GetSampleTimes 方法调用此方法。 默认情况下,始终根据样本的时间戳计划进行呈现。 派生类可以重写此方法;例如,实现质量控制。

要求

要求
标头
Renbase.h (包括 Streams.h)

Strmbase.lib (零售版本) ;
Strmbasd.lib (调试生成)

另请参阅

CBaseRenderer 类