IPin::NewSegment 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是一项旧功能。 它已被 MediaPlayer、 IMFMediaEngine 和 媒体基金会中的音频/视频捕获取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
方法 NewSegment
通知引脚,此调用后收到的媒体样本将分组为一个段,其中包含通用的开始时间、停止时间和速率。
应用程序不应调用此方法。 此方法由其他筛选器调用。
语法
HRESULT NewSegment(
REFERENCE_TIME tStart,
REFERENCE_TIME tStop,
double dRate
);
参数
tStart
段相对于原始源的开始时间(以 100 纳秒为单位)。
tStop
段相对于原始源的结束时间(以 100 纳秒为单位)。
dRate
处理此段的速率,以原始速率的百分比表示。
返回值
如果成功,则返回S_OK,或返回指示错误原因的 HRESULT 值。
注解
源筛选器 (或分析器筛选器) 在每个新流的开头和每次查找操作之后调用此方法。 它在传递上一批数据之后,在调用 IMemInputPin::Receive 和任何新数据之前,在下游筛选器的输入引脚上调用 方法。 下游筛选器将调用传播到 NewSegment
下游。
筛选器可以使用段信息来处理示例。 例如,对于某些格式,无法重建没有下一个关键帧的增量帧。 因此,如果停止时间发生在增量帧上,则源筛选器必须发送一些额外的帧。 解码器筛选器根据段信息确定最终帧。 段速率用于呈现连续数据源,例如音频数据。 例如,音频呈现器使用采样率和段速率来正确呈现音频数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | strmif.h (包括 Dshow.h) |
Library | Strmiids.lib |