CBaseRenderer.PrepareReceive 方法
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 PrepareReceive
准备筛选器以呈现示例。
语法
virtual HRESULT PrepareReceive(
IMediaSample *pMediaSample
);
参数
-
pMediaSample
-
指向示例 IMediaSample 接口的指针。
返回值
返回 HRESULT 值。 可能的值包括下表中的值。
返回代码 | 说明 |
---|---|
|
成功。 |
|
已失败。 |
|
意外错误。 |
|
筛选器正在删除此示例。 |
备注
筛选器在呈现示例之前,从 CBaseRenderer::Receive 方法内部调用此方法。 如果筛选器正在运行,此方法将计划用于呈现的示例。
如果筛选器已有挂起的示例,或者已到达流结束,则该方法返回E_UNEXPECTED。 可能上游筛选器未正确序列化其流式处理调用。
如果计划算法确定应删除示例 (请参阅 CBaseRenderer::ScheduleSample) ,该方法将返回VFW_E_SAMPLE_REJECTED。 但是,输入引脚的 IMemInputPin::Receive 方法不会将此错误代码传递给上游筛选器,因为删除样本不是错误。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|