1

我有一个使用 DSPACK 组件库用 Delphi 6 编写的 DirectShow 过滤器。它是一个推源视频过滤器。过滤器阻塞在另一个生成视频帧的线程中发出的事件。当一个帧准备好时,它被写入一个共享内存区域,FillBuffer() 方法在它被解除阻塞时访问该区域。当过滤器被 DirectShow 关闭时,是否有一个方便的 DirectShow 事件可以让我解除阻塞 FillBuffer() 线程?如果不是,这方面的“标准做法”是什么?

4

1 回答 1

2

标准做法是WaitForMultipleObjects函数和朋友。您正在等待解锁您的事件之一FillBiffer:来自外部源的新视频帧的可用性,停止请求到达您的过滤器等。

于 2011-12-24T18:23:24.483 回答