MediaPortal Audio renderer - better video playback quality (2 Viewers)

tourettes

Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Would be possible to have a new audio rendered to test it easyly out of Media portal enviroment such as Graph Studio or Graphedit (changing mixer setup, resampling and so on) so in ?
    So a pin "in" for wasapi support other than the directsound I see in graph I guess.

    No, it wouldn't be easy :)

    • Renderer cannot handle dynamic (internal) renderer type changes (between WASAPI / directshow). It would require
    • Currently the input pin is implemented by the filter itself, it would require quite much work to separate that to a different class
    • It would slow down the automatic directshow graph building when there are two pins around

    One possibility would be to introduce property page(s) for the filter (where all registry settings are) - but it will still require the dynamic settings to be handled (changing some settings on the fly aren't even possible without completely restarting the playback, so the effort for this would be quite big). Since the audio renderer's target is to be used in MP the settings configuration is quite much useless for the real use. After all the filter needs to be in such shape when it is used within MP that there is no need for the setting changes. It must just work.

    At current state, please consider that you donate some development time every time you change a setting in the registry and reload the graph in GraphStudio :D
     

    micko

    Portal Pro
    May 27, 2006
    258
    51
    Home Country
    Finland Finland
    Ok, but for a some reason MP won't use your renderer if I don't set ForceDirectSound. I told this earlier and you answered to set that on.
    I know you cannot remember all problems that each one have ;). Still wondering why is this happening since there is ppl to using ATI without forcing that on.

    Me too, could you post the log with the setting turned off? I'll check what happens there with the v8. I assume that it is just some file that fails to play with ATI - just some stream format that ATI doesn't support.
    Logs attached. I tried to add this renderer in graphedit (to the paused remote graph) and it gave this error "The filter could not be created. Resources by this filter may already be in use." Exception return code 0x80010105. Any other audio renderer can be inserted.
     

    Attachments

    • graph_MediaPortal PID (CD0) IFilterGraph = 5D57538.jpg
      graph_MediaPortal PID (CD0) IFilterGraph = 5D57538.jpg
      43.7 KB

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Logs attached. I tried to add this renderer in graphedit (to the paused remote graph) and it gave this error "The filter could not be created. Resources by this filter may already be in use." Exception return code 0x80010105. Any other audio renderer can be inserted.

    My bet that the filter crashes in WASAPI device enumeration. I'll have to add some more logging into GetAvailableAudioDevices() to be able to see where it crashes.
     

    micko

    Portal Pro
    May 27, 2006
    258
    51
    Home Country
    Finland Finland
    Logs attached. I tried to add this renderer in graphedit (to the paused remote graph) and it gave this error "The filter could not be created. Resources by this filter may already be in use." Exception return code 0x80010105. Any other audio renderer can be inserted.

    My bet that the filter crashes in WASAPI device enumeration. I'll have to add some more logging into GetAvailableAudioDevices() to be able to see where it crashes.
    Ok, I will test it then...
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Logs attached. I tried to add this renderer in graphedit (to the paused remote graph) and it gave this error "The filter could not be created. Resources by this filter may already be in use." Exception return code 0x80010105. Any other audio renderer can be inserted.

    My bet that the filter crashes in WASAPI device enumeration. I'll have to add some more logging into GetAvailableAudioDevices() to be able to see where it crashes.
    Ok, I will test it then...

    Please test attached .ax with ForceDirectSound disabled. It contains additional logging.
     

    Attachments

    • mpaudiorenderer_micko.zip
      133.6 KB

    micko

    Portal Pro
    May 27, 2006
    258
    51
    Home Country
    Finland Finland
    My bet that the filter crashes in WASAPI device enumeration. I'll have to add some more logging into GetAvailableAudioDevices() to be able to see where it crashes.
    Ok, I will test it then...

    Please test attached .ax with ForceDirectSound disabled. It contains additional logging.
    Tested and there is logs. Could it be some error on audio devices (or one of them)? I could reinstall drivers and/or try to disable not used ones. Like MB's integrated Intel HD audio controller and Bluetooth audio.
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Ok, I will test it then...

    Please test attached .ax with ForceDirectSound disabled. It contains additional logging.
    Tested and there is logs. Could it be some error on audio devices (or one of them)? I could reinstall drivers and/or try to disable not used ones. Like MB's integrated Intel HD audio controller and Bluetooth audio.

    Looks like some quite serious error on the system side. Of course audio renderer shouldn't crash on that (I can fix it). But I really have no clue such issue can be fixed. I need to check the code a bit more in detail to tell what component is not registered (but it is something related to the device enumeration, no drivers were queried at that point I think).

    0x80040154 REGDB_E_CLASSNOTREG A required COM object isn't registered.
     

    micko

    Portal Pro
    May 27, 2006
    258
    51
    Home Country
    Finland Finland
    Interesting... If I start graphedit and try to insert this renderer just on empty space it will crash. Any other audio renderer can inserted. I did the same on the other PC and your renderer can be inserted ok.
    DSFMgr settings button gave access violation error and on working PC it just do nothing (as it should be).
     

    arion_p

    Retired Team Member
  • Premium Supporter
  • February 7, 2007
    3,373
    1,626
    Athens
    Home Country
    Greece Greece
    Looks like some quite serious error on the system side. Of course audio renderer shouldn't crash on that (I can fix it). But I really have no clue such issue can be fixed. I need to check the code a bit more in detail to tell what component is not registered (but it is something related to the device enumeration, no drivers were queried at that point I think).

    0x80040154 REGDB_E_CLASSNOTREG A required COM object isn't registered.
    I looks from MediaPortal.log that this system is on XP SP3!
    Code:
    2010-09-01 10:10:05.828125 [Info.][MPMain(1)]: Using alternate configuration file: C:\Documents and Settings\3M\Local Settings\Temp\MPTemp\MediaPortalTemp.xml
    2010-09-01 10:10:05.843750 [Info.][MPMain(1)]: Main: MediaPortal v1.1.0.0 is starting up on Windows XP ( Service Pack 3 ) [5.1.2600.196608]
    2010-09-01 10:10:05.843750 [Info.][MPMain(1)]: Main: Last install from WindowsUpdate is dated 2010-08-19 09:42:57
    WASAPI does not exist in XP. The question is of course is why does MP AudioRenderer still try to use it :mad:.

    @micko: Note that VMR is used instead of EVR. The modified DShowHelper works with EVR only and MP Audio Renderer requires the modified DShowHelper to work properly (otherwise it just acts like Default DirectSound Renderer).
     

    tourettes

    Retired Team Member
  • Premium Supporter
  • January 7, 2005
    17,301
    4,800
    Looks like some quite serious error on the system side. Of course audio renderer shouldn't crash on that (I can fix it). But I really have no clue such issue can be fixed. I need to check the code a bit more in detail to tell what component is not registered (but it is something related to the device enumeration, no drivers were queried at that point I think).

    0x80040154 REGDB_E_CLASSNOTREG A required COM object isn't registered.
    I looks from MediaPortal.log that this system is on XP SP3!
    Code:
    2010-09-01 10:10:05.828125 [Info.][MPMain(1)]: Using alternate configuration file: C:\Documents and Settings\3M\Local Settings\Temp\MPTemp\MediaPortalTemp.xml
    2010-09-01 10:10:05.843750 [Info.][MPMain(1)]: Main: MediaPortal v1.1.0.0 is starting up on Windows XP ( Service Pack 3 ) [5.1.2600.196608]
    [/quote]
    
    "OS: Windows 7 Ultimate" in the spec sheet, so I didn't even bother to look at the mediaportal.log for OS :)
    
    [quote="arion_p, post: 653882"]
    2010-09-01 10:10:05.843750 [Info.][MPMain(1)]: Main: Last install from WindowsUpdate is dated 2010-08-19 09:42:57
    WASAPI does not exist in XP. The question is of course is why does MP AudioRenderer still try to use it :wtf:.[/quote]
    
    I guess it manages to load the DLL (some .NET update might provide it) and then even to load the function pointers to the few methods -> WASAPI is though to be available since the code assumes that we are already on Vista / Windows 7. I guess we need to find a correct way to detect the WASAPI (maybe just OS version check) and disable the WASAPI all together for XP.
    
    [quote="arion_p, post: 653882"]@micko: Note that VMR is used instead of EVR. The modified DShowHelper works with EVR only and MP Audio Renderer requires the modified DShowHelper to work properly (otherwise it just acts like Default DirectSound Renderer).[/QUOTE]
    
    Yes, for XP it is currently quite pointless to use the renderer since only EVR has been modified to interact with the audio renderer features.
     

    Users who are viewing this thread

    Top Bottom