在 AVStream 编解码器中使用硬件媒体
支持专用媒体的 AVStream 微型驱动程序可以在设备硬件中传输数据,而无需中间传输到系统内存。
具体而言,如果两个筛选器共享同一个专用中型实例,则 Media Foundation 以独占方式在设备硬件中传输媒体。 无需将函数引入系统内存即可进行此传输。 例如,来自同一设备的解码器和编码器可以共享专用媒体,从而显著提高性能。
若要使用专用媒体,微型驱动程序应在引脚的 AVStrMiniPinProcess 函数中执行以下操作:
例如,如果为固定连接选择了驱动程序的自定义媒体 (引脚的介质不KSMEDIUMSETID_Standard) ,则驱动程序应通过其专用总线路由数据。 AVStream 不为使用自定义媒体连接的引脚启用流指针传输。
驱动程序可以通过调用 KsPinGetConnectedPinFileObject 来确定连接的引脚。
然后,驱动程序可以对缓冲区执行操作,并通过其自定义媒体将其路由到连接的引脚/筛选器对象。