emailxj
驱动牛犊
驱动牛犊
  • 注册日期2002-05-15
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2000回复:7

关于 \"BDA Tuner Drivers\"

楼主#
更多 发布于:2003-02-10 09:22
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(...)这个函数没调用的影子,导致上面的结果;

希望了解者多多指教;



mike_wang
驱动中牛
驱动中牛
  • 注册日期2003-01-22
  • 最后登录2012-01-04
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-02-10 16:33
我也是做BDA的,如果有兴趣,我希望和你聊一下
QQ:23932460
mike_wang
驱动中牛
驱动中牛
  • 注册日期2003-01-22
  • 最后登录2012-01-04
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
板凳#
发布于: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.
emailxj
驱动牛犊
驱动牛犊
  • 注册日期2002-05-15
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-02-11 09:02
这个所有值我都试过,不起作用;

我在softice中载入微软提供的所有符号表,然后单步Debug,发现并没有类似的判断:
  if (==QPSK || == 8VSB)
  {
     ...->put_modulation()
  }
就根本没...->put_modulation()调用的影子,但其它的属性调用有明显的..._>put_innerFec()等调用;
emailxj
驱动牛犊
驱动牛犊
  • 注册日期2002-05-15
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-02-11 09:07
我使用的测试例子有三种:
         1) GraphEdit      
         2) SDK 中的 BDA sample
         3) sdk 中的 VideoControl

最终底层的调用步骤都一样,发送一个 Tune request 请求;
mike_wang
驱动中牛
驱动中牛
  • 注册日期2003-01-22
  • 最后登录2012-01-04
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-02-12 16:25
你是通过什么来调用TUNER DRIVER 内部的接点的?
emailxj
驱动牛犊
驱动牛犊
  • 注册日期2002-05-15
  • 最后登录2009-04-09
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
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 不被调用,
xiaobai_1981
驱动牛犊
驱动牛犊
  • 注册日期2007-05-09
  • 最后登录2010-05-28
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望149点
  • 贡献值0点
  • 好评度63点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-08-07 19:13
Re:关于 \BDA 驱动
有谁做过BDA驱动,有关USB选择性挂起, 以及BDA驱动Setpower功能的,请指教!!
1. USB端口选择性挂起后,PIN的PROCESS例程无法恢复?
   本人采用DMA传输方式,Process每次返回PENDING,用函数KsPinAttemptProcessing请求恢
  复Process.正常情况下可以恢复,一旦设置设备的电源就无法恢复!
2.SetPower时,系统重启动.
游客

返回顶部