处理 AVStream 编解码器中的流结尾
当 HW MFT 收到流结束 (EOS) 标志集的样本时,它会在对应于该示例的 KSSTREAM_HEADER 结构的 OptionsFlag 成员中设置 KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM 。
在微型驱动程序收到 在StreamHeader.OptionsFlag 中设置了KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM标志的KSSTREAM_POINTER后,在微型驱动程序在输出流指针上设置KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM之前,输入引脚不会收到任何新的输入流指针。
在微型驱动程序在输出流指针上设置KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM之前,它应使用当前可用的输入生成尽可能多的输出帧。
然后,除了与这些流指针关联的数据外,微型驱动程序还应清除与以前处理的流指针相关的任何缓存信息。 然后,微型驱动程序应在输出引脚上设置KSSTREAM_HEADER_OPTIONSF_ENDOFSTREAM。
微型驱动程序应将随后到达的新输入流指针视为新流的一部分。 如果 EOS 由于媒体流中的中断而发生,则例外。 如果是这种情况,则新到达的流指针将在 KSSTREAM_HEADER 中设置KSSTREAM_HEADER_OPTIONSF_DATADISCONTINUITY或KSSTREAM_HEADER_OPTIONSF_TIMEDISCONTINUITY或两者。OptionsFlags。 如果设置了其中一个标志的流指针到达输入引脚,微型驱动程序必须在相应的输出引脚的流指针上设置相同的标志。