Menu

no video or sound in BDA DTVViewer samplecode

Tom
2007-08-21
2012-10-29
  • Tom

    Tom - 2007-08-21

    Hello:

    I download the directshowsamples from site : http://sourceforge.net/project/showfiles.php?group_id=136334

    I had already added the video and audio decoder filter to the graph by using AddFilterFromClsid(IGraphBuilder graphBuilder, Guid clsid, string name)

    When I run the program , it show nothing (no video and sound).
    According to the hr value, I konw the error is from :

    public void RunGraph()
    {
      int hr = 0;
      hr = (this.graphBuilder as IMediaControl).Run();
      DsError.ThrowExceptionForHR(hr);
    }
    

    hr value is 0x00000001 .

    the failue description is : "The method succeeded and returned the boolean value FALSE."

    Could anyone help me?

     
    • almere109

      almere109 - 2007-08-28

      Maybe I did not make it clear enough, fill in the frequency in the tune request was enough for me to get audio/video. SO for me there was no need to fill in ONID etc.
      WHen doing a new tuning reuest, the proper values where filled in. If screen stays black and the proper values are not showed, then something goes wrong with tuning (I guess). It might be possible that this works different in other countries.
      To get all channels maybe all tuning information is needed. I used Media Center to get all (not only frequency but also ONID etc) tuning information I need. So Media Center was for me just a help program. I use the DirectShowLib 1.3 and VS2003, but I do not think that should make much difference.

      I think the 71985F4B-1CA1-11D3-9CC8-00C04F7971E0 points to the tuning space (can not check that right now), 216c62df-6d7f-4e9a-8571-05f14edb766a points to DVBT. So not a problem I think. With BDA type I meant DVBT, DVBC, DVBS

      Does the tuner hardware work with other Windows software? At this moment I do not have such software. So either DTVViewer or Media Center are for me the only way to test my BDA hardware. Any suggestions for another program that can just be used for testing if the hardware works okay? I need such program esspecially for Windows 2000. For Windows XP I can use DTVViewer

       
    • snarfle

      snarfle - 2007-08-21

      1 is not an uncommon return from Run(). See the docs http://msdn2.microsoft.com/en-us/library/ms785876.aspx

       
    • Tom

      Tom - 2007-08-22

      thanks for your correct my mistake!

      I read the "Remarks" and use the GetState() method :

      int msTimeout =200;
      FilterState pfs;
      hr = (this.graphBuilder as IMediaControl).GetState(msTimeout, out pfs);

      I don't understand the GetState() cleraly...
      That's mean wating for 200 milliseconds and get the filter graph state, right?
      the state is stopped when the msTimeout is equal or more then 200

      But the run() return value is always 1 and still no video and sounds ,why?
      it bothered me so a long time....

      Thanks a lot~

       
      • snarfle

        snarfle - 2007-08-22

        Again, looking at the docs (http://msdn2.microsoft.com/en-us/library/ms785869.aspx) gives a pretty good description of the method.

        I doubt that the problem you are having has anything to do with the call to Run(). I'd be looking elsewhere.

        Have you tried looking at the graph with GraphEdt?

         
        • Tom

          Tom - 2007-08-22

          I deeply appreciate for your help.

          Beside add GetState() method ,I din't change or add any codes to it.

          I ever try some ways to find where the problem is:
          use the log file 、
          add the audio and video decoder filter、
          run the graphedit and it work successfully

          I also run the program on two different notebooks(laptop)

          what's the other porblem that I ignore or forget?

          Thanks.

           
          • Eric

            Eric - 2007-08-22

            If the constructed graph is correct in GraphEdit, the only reasons why nothing is diplayed is that your tune request settings are not correct or your antenna is unplugged...

             
    • almere109

      almere109 - 2007-08-23

      What frequecy are you using? Which BDA type you are using? My first trial with BDA failed due to a bad DVB-T tuner. Result was no audio/video. Are your sure that your BDA tuner works correctly?
      I had also problems finding the proper frequency and other tuning information. Thanks to Media Center I got the information I need. After a trial with a working DVB-T tuner it seems to be sufficient to fill in the frequency only. That makes life a lot easier. I think you should check which frequency is used in your area. Better would be to make a frequency scan to find the proper frequency so the program could be used more general. That functionality is not in this example (yet). If I have time, I would at that functionality first. In some cases I did not got audio/video, then it was sufficient to do a new tune request.

       
      • Tom

        Tom - 2007-08-28

        Thanks for all your response ~

        the frequecy I sued is 533000+6i (i is from 0 to 4). I don't understand which the BDA type I use is..(actually, I don't understand what BDA type means).I am sure that the BDA tuner is fine, it can work with other AP and player software, the frequency,TSID,SID is sure, but I am not sure the ONID is right. I am tring to get tune request parameter seriously....

        Media Center is which website or organization?
        And... What you means is some devices just need frequency parameter ?
        I am also tring to make the scan function...

        Thanks for your suggestion.

        Now I wait for those tune request parameter and I have some problems...
        Before that, the situation of my device(TVtuner) & me:
        1.The device can work with other AP or player
        2.I use ROT, the graphedit can make the filter graph but still show nothing when I press the play button
        3.I run the program in different notebooks(Laptop),In fact, beside to me,other poeple got the same problem (we are a
        team in a university)
        4.OS is Windows xp or vista

        We have some problems:
        1.about DirectShowLib-2005.dll, should we regsvr32 it ?(or any action necessary?)
        if we make the order: "regsvr32 DirectShowLib.dll" , it show a message: " DirectShowLib-2005.dll was loaded, but
        the DLLRegisterServer entry point was not found."
        1.we open the filter list in graphedit, we can get the guid of DVT-T filter (71985F4B-1CA1-11D3-9CC8-00C04F7971E0),
        DVB-T filter of the DTVViewer sample code is (216c62df-6d7f-4e9a-8571-05f14edb766a) ,they are different ? Is that
        the reason of show nothing ?

        Thanks for your reading

         

Log in to post a comment.

MongoDB Logo MongoDB