阅读:2000回复:7
关于 \"BDA Tuner Drivers\"
in DirectX9, winxp
about \"BDA Tuner Drivers\" 我使用GraphEdit去测试\"BDA Tuner Drivers\",但不管the Network Provider filter是针对DVB_C的,还是DVB_S,DVB_T,结果如下: 我在\"Tuner Driver\"中设置了KSPROPSETID_BdaDigitalDemodulator节点的所有属性,然后靠运行graphedit,程序会提交一个Request请求给\"Tuner Driver\",随后便会回调KSPROPSETID_BdaDigitalDemodulator节点的所有属性设置,所有的属性KSPROPERTY_BDA_INNER_FEC_TYPE , KSPROPERTY_BDA_SYMBOL_RATE .... 等等都被回调了,但 KSPROPERTY_BDA_MODULATION_TYPE这个属性没被回调,不知道为什么? DEBUG RESULT: 我使用Softice发现: 在DirectX BDA中,提交一个Request请求会调用Msdvbnp!CMPEG2Receiver::Locate() 函数, 在这个函数中会调用属性设置,但偏偏bdaPlgin!CBdaDigitalDemodulator::put_ModulationType(...)这个函数没调用的影子,导致上面的结果; 希望了解者多多指教; |
|
沙发#
发布于:2003-02-10 16:33
我也是做BDA的,如果有兴趣,我希望和你聊一下
QQ:23932460 |
|
板凳#
发布于:2003-02-10 17:36
关于这个问题,我想是出在request中,在TUNER requset 选项中有
个modulation选项,一般应设置其为QPSK or 8VSB,你可能设置成了 METHOD_NOT_SET. 在DDK中有下列描述: Clients use KSPROPERTY_BDA_MODULATION_TYPE to control the demodulator type such as QPSK or 8VSB. |
|
地板#
发布于:2003-02-11 09:02
这个所有值我都试过,不起作用;
我在softice中载入微软提供的所有符号表,然后单步Debug,发现并没有类似的判断: if (==QPSK || == 8VSB) { ...->put_modulation() } 就根本没...->put_modulation()调用的影子,但其它的属性调用有明显的..._>put_innerFec()等调用; |
|
地下室#
发布于:2003-02-11 09:07
我使用的测试例子有三种:
1) GraphEdit 2) SDK 中的 BDA sample 3) sdk 中的 VideoControl 最终底层的调用步骤都一样,发送一个 Tune request 请求; |
|
5楼#
发布于:2003-02-12 16:25
你是通过什么来调用TUNER DRIVER 内部的接点的?
|
|
6楼#
发布于:2003-02-12 17:12
Tuner driver 中节点的每个属性被调用,有种方法:
1)使用 IKsPropertySet接口,自己调用每个属性的设置,我使用它测试过KSPROPERTY_BDA_MODULATION_TYPE 被调用了; 2)在Bda sample 中 创建一个ITuneRequest *pTuneRequest,最后调用m_pITuner->put_TuneRequest(pTuneRequest),directx在内部又会以IKsPropertySet方式设置每个属性,但偏偏KSPROPERTY_BDA_MODULATION_TYPE 不被调用, 3)在Videocontrol sample 中也一样,directx在内部又会以IKsPropertySet方式设置每个属性,但偏偏KSPROPERTY_BDA_MODULATION_TYPE 不被调用, |
|
7楼#
发布于:2007-08-07 19:13
Re:关于 \BDA 驱动
有谁做过BDA驱动,有关USB选择性挂起, 以及BDA驱动Setpower功能的,请指教!!1. USB端口选择性挂起后,PIN的PROCESS例程无法恢复? 本人采用DMA传输方式,Process每次返回PENDING,用函数KsPinAttemptProcessing请求恢 复Process.正常情况下可以恢复,一旦设置设备的电源就无法恢复! 2.SetPower时,系统重启动. |
|