Kodi Community Forum
[WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: General Support (https://forum.kodi.tv/forumdisplay.php?fid=111)
+---- Forum: Windows (https://forum.kodi.tv/forumdisplay.php?fid=59)
+---- Thread: [WINDOWS] Internal Directshow Based Player [NO LONGER DEVELOPED] (/showthread.php?tid=61355)



- automateXBMC - 2010-07-15

Ok removed the path from the filterconfig.xml

Quote: <filter name="haalisplitter" type="splitter">
<!-- <path>C:\Program Files (x86)\Haali\MatroskaSplitter\Splitter.ax</path> -->
<guid>{55DA30FC-F16B-49FC-BAA5-AE59FC65F82D}</guid>
<osdname>Haali Splitter</osdname>
</filter>

so please see I am not using the Splitter.x64.ax I am using Splitter.ax from the same location.

When I use graphstudio64 to find the Haali Spliter's GUID for the filterconfig.xml and use the "Find file location" it opens up "C:\Program Files (x86)\Haali\MatroskaSplitter\Splitter.x64.ax" as the file. So the Haali installer is the one installing this files and registering the file .... not me.

If I comment out the path to the SPlitter.ax (as I did above), you can see in the XBMC log below it defaults to: "C:\Program Files (x86)\XBMC\system\players\dsplayer\AviSplitter.ax" and this one is the latest I have downloaded of the .ru site and this is the one that is throwing the "Access Violation" Error...

Seb?



Quote:18:46:26 T:3864 M:1073741823 DEBUG: CFGFilterVideoRenderer::Create Allocator presenter successfully created
18:46:26 T:3864 M:1073741823 DEBUG: CFGLoader::InsertVideoRenderer Allocator presenter successfully added to the graph (Renderer: Enhanced Video Renderer)
18:46:26 T:3864 M:1073741823 DEBUG: CFilterSelectionRule::GetFilters: adding filter: avisource for rule: un-named
18:46:26 T:3864 M:1073741823 DEBUG: DShowUtil::LoadExternalObject CoLoadLibrary fails : 0
18:46:26 T:3864 M:1073741823 INFO: CFGFilterFile::Create Failed to load external filter (clsid:{CF49D4E0-1115-11CE-B03A-0020AF0BA770} path:C:\Program Files (x86)\XBMC\system\players\dsplayer\AviSplitter.ax). Trying with CoCreateInstance
18:46:26 T:3864 M:1073741823 DEBUG: CFGFilterFile::Create Successfully loaded external filter (clsid:{CF49D4E0-1115-11CE-B03A-0020AF0BA770} path:C:\Program Files (x86)\XBMC\system\players\dsplayer\AviSplitter.ax)
18:46:26 T:3864 M:1073741823 ERROR: CThread:ConfusedtaticThread : Access violation at 0x00fb33bc: Reading location 0x00000000
18:46:26 T:3864 M:1073741823 DEBUG: Thread 3864 terminating
18:46:26 T:3784 M:1073741823 DEBUG: CAnnouncementManager - Announcement: PlaybackStopped from xbmc



- automateXBMC - 2010-07-15

So did some research further and it gets even more interesting....

Access Violation to the AviSplitter could mean a corrupt Quartz.dll (Windows handler for the AVI file) (also some Microsoft articles on bugs in Quartz HOWEVER this was for Windows 2000 which is not the case here).


Here is the thing:
1. Windows Media Player - Works (Avi Playback)
2. Media Player Classic - Works (Avi Playback)
3. VLC - Works (Avi Playback)
4. DVDPLayer in XBMC itself WORKS!!!! - So why not DSPlayer? What is it calling that is causing the Access Violation .......

So work around right now is play AVI using DVDPlayer.... question is there a config file that you can specify which player to use for a specific media type?
i.e. Avi then use DVDPlayer?


- tiben20 - 2010-07-15

automateXBMC Wrote:So did some research further and it gets even more interesting....

Access Violation to the AviSplitter could mean a corrupt Quartz.dll (Windows handler for the AVI file) (also some Microsoft articles on bugs in Quartz HOWEVER this was for Windows 2000 which is not the case here).


Here is the thing:
1. Windows Media Player - Works (Avi Playback)
2. Media Player Classic - Works (Avi Playback)
3. VLC - Works (Avi Playback)
4. DVDPLayer in XBMC itself WORKS!!!! - So why not DSPlayer? What is it calling that is causing the Access Violation .......

So work around right now is play AVI using DVDPlayer.... question is there a config file that you can specify which player to use for a specific media type?
i.e. Avi then use DVDPlayer?
http://wiki.xbmc.org/index.php?title=HOW-TO_use_an_External_Player_for_media_playback
the playercorefactory as been created to select the player depending of what file your playing.
For the access violation that could be anything its really easy to find it within visual c++ because you get exactly the line where the access violation happen


- automateXBMC - 2010-07-15

That assumes I have a debugger on my machine..... is there no parameters etc I could enable to allow me to post the logs here?

Also that allows you to specify External players to play the file (you need to specify the location of the player and parameters) is there a way to specify DVDPlayer the internal player for certain file types as well?


- &gt;&gt;X&lt;&lt; - 2010-07-15

automateXBMC Wrote:So work around right now is play AVI using DVDPlayer.... question is there a config file that you can specify which player to use for a specific media type?
i.e. Avi then use DVDPlayer?

Make DSPlayer the default player in advancedsettings.xml then create a playercorefactory.xml with the following and stick it in your userdata folder

playercorefactory.xml

Code:
<playercorefactory>
  <rules action="prepend">
    <rule filetypes="avi" player="DVDPlayer"/>
  </rules>
</playercorefactory>



- automateXBMC - 2010-07-15

>>X<<' Wrote:Make DSPlayer the default player in advancedsettings.xml then create a playercorefactory.xml with the following and stick it in your userdata folder

playercorefactory.xml

Code:
<playercorefactory>
  <rules action="prepend">
    <rule filetypes="avi" player="DVDPlayer"/>
  </rules>
</playercorefactory>

Thank you so much for that advise Smile


- automateXBMC - 2010-07-15

Can someone explain what is going on here:

Quote:23:21:44 T:4064 M:1046986752 INFO: CFGFilterFile::Create Failed to load external filter (clsid:{55DA30FC-F16B-49FC-BAA5-AE59FC65F82D} path:C:\Program Files (x86)\XBMC\system\players\dsplayer\MatroskaSplitter.ax). Trying with CoCreateInstance
23:21:44 T:4064 M:1046814720 DEBUG: CFGFilterFile::Create Successfully loaded external filter (clsid:{55DA30FC-F16B-49FC-BAA5-AE59FC65F82D} path:C:\Program Files (x86)\XBMC\system\players\dsplayer\MatroskaSplitter.ax)

Did it load the splitter or not?

I get that dam "Working......" dialog hear that prompt in the background but then the screen dim's and I can't do anything with XBMC.exe can only kill it with TaskManager.....


- Jani - 2010-07-16

Dunno if this is the right thread for suggestions.. Anyway, in my opinion fast forward/rewind shouldn't skip frames, but increase/decrease frames displayed per second. It might not be possible with eg. the 32x ff/rew, in that case you could skip some frames. I know you are using a lot of MPC-HC code, so you could copy their ff/rew Tongue


- hoborg - 2010-07-16

@Jani:

Well, just remember, playback of double speed eat double CPU power, so if FullHD video requaired ~3GHz CPU, double speed will eat ~6GHz, 4x 12GHz, etc... Smile


- Rob79 - 2010-07-16

I am currently running Win 7 32bit, xbmc with DSplayer (newest build, June 30 date). I have a ATI HD3450 card, and have set DSplayer as my default. The problem that I am having is that when I play 1080p MKV's from the start they work great, full Hardware accel though MPC codec, but if I pause, skip back or forward the picture turns all garbled. Now I have also tested just playing in MPC-HC with DXVA enabled that that works perfectly, allows anything, pasue skip, fast forward. Is there a way to somehow use the same filters from MPC-HC in DSplayer, I have downloaded the standalone filters and replaced the DSplayer ones with them, but still no go. Any ideas would be great. If this is not possible just let me know and I will just use mpc-hc as an external player for now. Thanks for the help as always Wink


- Mallet21 - 2010-07-16

automateXBMC Wrote:Can someone explain what is going on here:



Did it load the splitter or not?

I get that dam "Working......" dialog hear that prompt in the background but then the screen dim's and I can't do anything with XBMC.exe can only kill it with TaskManager.....

A full debug log along with your filterconfig and mediaconfig xml's would probably make it easier to diagnose.


- &gt;&gt;X&lt;&lt; - 2010-07-16

Rob79 Wrote:I am currently running Win 7 32bit, xbmc with DSplayer (newest build, June 30 date). I have a ATI HD3450 card, and have set DSplayer as my default. The problem that I am having is that when I play 1080p MKV's from the start they work great, full Hardware accel though MPC codec, but if I pause, skip back or forward the picture turns all garbled. Now I have also tested just playing in MPC-HC with DXVA enabled that that works perfectly, allows anything, pasue skip, fast forward. Is there a way to somehow use the same filters from MPC-HC in DSplayer, I have downloaded the standalone filters and replaced the DSplayer ones with them, but still no go. Any ideas would be great. If this is not possible just let me know and I will just use mpc-hc as an external player for now. Thanks for the help as always Wink

It uses MPC-HC filters by default for mkv so all you have done is replaced them with the same ones


- Rob79 - 2010-07-16

>>X<<' Wrote:It uses MPC-HC filters by default for mkv so all you have done is replaced them with the same ones

Yes, I understand that, I was hoping the new filters may work better, if MPC-HC plays perfectly then why doesn't DSplayer using MPC filtersHuh Thanks


- &gt;&gt;X&lt;&lt; - 2010-07-16

Rob79 Wrote:Yes, I understand that, I was hoping the new filters may work better, if MPC-HC plays perfectly then why doesn't DSplayer using MPC filtersHuh Thanks

Because its not MPC-HC its DSPlayer and its still in development


- Rob79 - 2010-07-16

>>X<<' Wrote:Because its not MPC-HC its DSPlayer and its still in development

Thanks, I have been told to try the MS decoder since I am on Win 7 in teh support thread. Also I saw Tiben20 mention that they are trying to incorporate Boxee DXVA into DSplayer is this still happening? As Boxee works perfectly with my older hardware, but the interface holds nothing to XBMC. Thanks for the info Wink