佚名通过本文主要向大家介绍了请教你一个问题,向老师请教问题,请教问题,向老师请教问题邮件,请教别人问题怎么说等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请教Stream Class Minidriver的问题
描述:
描述:
最近在学习Stream Class Minidriver的开发,发现这一类驱动的架构属于“拉”模式,即Ksproxy.ax发送SRB_READ_DATA包,主动从驱动中取走数据,驱动只能被动地通过这种途径发送数据。产生了这样一个问题:在我做的驱动中,硬件MPEG4编码器不断产生编码好的视频桢,放到一个队列中。当驱动收到SRB_READ_DATA时,从队列中取走一桢,发送出去。当CPU太忙碌时,视频数据仍然会按照25fps的速率产生并放到缓冲区中,但是驱动收到的SRB_READ_DATA却跟不上这个速度,导致缓冲区中的数据不断累积,最后溢出,只好丢桢。
我试图在每次产生一桢的时候,调用StreamClassStreamNotification(ReadyForNextStreamDataRequest, pStreamObject)来让上层尽可能快速的发送下一个SRB_READ_DATA包,但好像没有任何改善。
请大家帮忙啊!!