MePo 1.6 Final Crash on D3D.GetCapabilities() (1 Viewer)

Bernard

Portal Pro
March 5, 2012
103
25
39
Centurion
Home Country
South Africa South Africa
Only thing I can think of is to install Vista and see if I can get MePo to work.

Guess this Motherboard is just to old for Win7. I had a hard time installing drivers, since the manufacturer didn't provide Win7 drivers for everything, only Vista.

Also this is using integrated graphics and I don't have a PCI-e 16x video card to test. But I will see what I can buy for cheap maybe if everything fails.

Anyways thanks for helping! Time to go to bed, 2014 work year starts tomorrow early!
 

Sebastiii

Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Good luck :)
    And hope it's a Video drivers issue (it looks like) but i would like to say thank you because you trigger a bug in D3D rework i have made :)
     

    Bernard

    Portal Pro
    March 5, 2012
    103
    25
    39
    Centurion
    Home Country
    South Africa South Africa
    Your welcome! It's always a pleasure to contribute to an Open Source project! In the end that is how the project succeeds, by everyone working together!

    Since I have a very uncommon problem with my video drivers, is there anyway that I can help you to improve the error handling code so to give someone a better response than "Object reference not set to an instance"? And also maybe that loop you created should have a timeout, or retry count so that it does not run indefinitely.

    My thinking is that maybe we can improve the error messages, so that if anyone ever gets this same issue (it can potentially be any Direct3D related issue, that cause it to not work... i'm not sure how many cases would cause this "null reference exception") the system immediately points it out, rather than showing the same "Loading DirectX..." message indefinitely and expecting the end-user to read the logs to get a hint that he has something wrong. We could say "Fatal Error: Direct3D could not load. Please try reinstalling your display drivers, or DirectX." as an example.

    I'm also a C# developer, so I don't have a problem reading and contributing code, but I need an "inside man" to vet the code and help it get accepted... So from my side I will try my best to figure out where the "null object" lies in the code, and then I can try to research the Direct3D libraries to determine "why" it would be "null". And then update the code as I think, but then I will need your help to verify that the code is acceptable?

    Would you be willing to help, and would you be able to point me to the source that you worked on, since the "trunk" is now outdated? I'm also more than willing to just debug the issue and write to you what is "null" and "why" and you can then write the code to improve on the error reporting? This DOES mean that you have to do more coding work...

    We can continue to work on your WIP thread referenced above just so that there is not 2 threads on this topic of D3D updates.

    I will also need to get Git going as I'm still on SVN.
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hi,
    I can help for sure :)

    The loop should be stopped @ 20 retry ( but inside 20 retry we have also 20 retry for enum and adaptor).

    So yes you need to setup your dev env for MP (because you need to build c++ filter etc.)
    There is a wiki page where all is explained :)

    There is a WIP branch on GIT and i need to push the last change from yesterday (will do that this evening).

    The culprit code is in mediaportal.cs and D3D.cs.

    We run here in 2 issues :

    1- A delay need to be done on Init when system start. (that the purpose of the Bin i.e v15 actually)
    2- Check D3D capabilities or something related to D3D when the Driver or whatever will 100% failed (like your issue).

    :)
     

    Bernard

    Portal Pro
    March 5, 2012
    103
    25
    39
    Centurion
    Home Country
    South Africa South Africa
    Hi @Sebastiii,
    FYI, I have found the following thread which shows that there is proper error handling for Direct3D: https://forum.team-mediaportal.com/...ce-could-not-be-created-always-solved.122485/ From what I understand in the explanation, MePo did in fact show a understandable message ("Direct3D device could not be created"). So it may be that there are checks in place for issues with Direct3D, but in my case it may be failing on another (lower/deeper) level in code, thus "falsely" passing this check. Figuring this out will be a good starting point for me...
     

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Hi @Sebastiii,
    FYI, I have found the following thread which shows that there is proper error handling for Direct3D: https://forum.team-mediaportal.com/...ce-could-not-be-created-always-solved.122485/ From what I understand in the explanation, MePo did in fact show a understandable message ("Direct3D device could not be created"). So it may be that there are checks in place for issues with Direct3D, but in my case it may be failing on another (lower/deeper) level in code, thus "falsely" passing this check. Figuring this out will be a good starting point for me...

    Yep there is check loop in current master code but we run into exception, my branch should solve it and i have add retry loop because it can be D3D not fully init or drivers D3D missing or something.

    So we need to have a 100% check :)
     

    Bernard

    Portal Pro
    March 5, 2012
    103
    25
    39
    Centurion
    Home Country
    South Africa South Africa
    So yes you need to setup your dev env for MP (because you need to build c++ filter etc.)
    Oh boy, I know nothing about c++ filters, so hopefully this will not be a brick wall! :eek:
    There is a WIP branch on GIT and i need to push the last change from yesterday (will do that this evening).
    You can do it as you get time, I have a lot of setup work to do before I can start working on the code. I also have a daytime job, and a wife. So I'll try to get to it as soon as possible.

    We run here in 2 issues : 1[...] 2[...]
    Agreed, I will focus on finding the heart of number 2.

    Thanks the links will help a lot to get me up to speed!

    Edit: Oi! The spelling and grammar!
     
    Last edited:

    Sebastiii

    Development Group
  • Team MediaPortal
  • November 12, 2007
    16,583
    10,403
    France
    Home Country
    France France
    Thanks :)
    Let's go to work otherwise i will be late lol

    Will push the change on GIT this evening, if you follow Wiki, the c++ filter will be build correctly without doing anything, except start the .bat :)
     

    Bernard

    Portal Pro
    March 5, 2012
    103
    25
    39
    Centurion
    Home Country
    South Africa South Africa
    Yep there is check loop in current master code but we run into exception, my branch should solve it and i have add retry loop because it can be D3D not fully init or drivers D3D missing or something.
    So we need to have a 100% check

    Excellent! This means we can potentially expand the error check code without creating spaghetti code!
     

    Users who are viewing this thread

    Top Bottom