差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
public:it:directshow [2022/03/31 14:15] – [Filter States] oakfire | public:it:directshow [2022/04/06 17:08] (当前版本) – [Time and Clocks] oakfire | ||
---|---|---|---|
行 4: | 行 4: | ||
==== Filter States ==== | ==== Filter States ==== | ||
* https:// | * https:// | ||
- | * Filters have three possible states: **stopped**, | + | * Filters have three possible states: **stopped**, |
* Transitions between stopped and running always go through the paused state, so if the application calls Run on a stopped graph, the Filter Graph Manager pauses the graph before running it. 即**每次 running 状态前必定有 paused 状态,包括初次点开始播放时** | * Transitions between stopped and running always go through the paused state, so if the application calls Run on a stopped graph, the Filter Graph Manager pauses the graph before running it. 即**每次 running 状态前必定有 paused 状态,包括初次点开始播放时** | ||
- | * The Filter Graph Manager carries out all state transitions in upstream order, starting from the renderer and working backward to the source filter. FGM 控制各 Filter 的状态的顺序是从最下游的渲染层开始,再依次回到最上游资源filter。 | + | * The Filter Graph Manager carries out all state transitions in upstream order, starting from the renderer and working backward to the source filter. FGM 控制各 Filter 的状态的顺序是从最下游的渲染层开始,再依次回到最上游资源filter。实时流数据例外 |
==== Events ==== | ==== Events ==== | ||
* https:// | * https:// | ||
* | * | ||
+ | ==== Time and Clocks ==== | ||
+ | * https:// | ||
+ | * 实现了接口 [[https:// | ||
+ | * 参考时钟以 **100 纳秒**(100-nanosecond)为单位。 | ||
+ | * 参考时钟的开始值取决于实现,'' | ||
+ | * DirectShow 通常使用音频渲染Filter作为参考时钟,如果没有就使用系统时钟。音频渲染Filter可访问硬件时钟。(oak: | ||
+ | * The Filter Graph Manager 选择参考时钟的优先顺序: | ||
+ | - 应用指定('' | ||
+ | - 拥有参考时钟的[[https:// | ||
+ | - 从音频渲染Filter开始,往上游找拥有参考时钟的Filter | ||
+ | - [[https:// | ||
+ | * Media Times: 可理解为流的样本计数 | ||
+ | |||
+ | ===== Filters ===== | ||
+ | ==== EVR ==== | ||
+ | * [[https:// | ||
+ | |||