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)



- therealjoeblow - 2010-12-29

alexrose1uk Wrote:If anyone has any ideas on my digital passthrough issue it'd be appreciated.
The debug snippet [I can post an entire log if it helps] confirms theres some sort of issue, but I have no idea whether the issue lies with FFDshow (I've tried a few different builds with no change), or the current build of DSPlayer (I'm currently using the 35694 build posted just a page or two back).
PCM output works fine 100% of the time for everything, but bitstream fails perhaps 50% of the time (and usually tends to end up crashing the DSPlayer component of XBMC so I have to restart), or thats what it feels like, the debug log tells me its not 'connecting' properly but doesnt really tell me *why*, especially as it DOES work some of the time.

Can you provide some details of your setup to make troubleshooting easier? I playback both AC3 and DTS exclusively with ffdshow in passthru mode without any issue whatsoever in XBMC (DSPlayer), MPC-HC and ZoomPlayer, so it's got to be something wrong with your hardware/setup.

I have a Gigabyte MA78GM-2SHP motherboard with onboard Realtek ALC889 audio (using the drivers from the realtek site), and use toslink (optical) out to a Yamaha RX-V463 AVR, and *never* have it fail. Ever. No matter what order stuff gets turned on. I can even turn offthe amp and back on repeatedly, switch inputs while playing, etc, and it always locks on to the bitstream without fail. It also bitstreams AC3 and DTS perfectly from XBMC's DVDPlayer and PowerDVD.

On the otherhand, I have my Xbox360 connected to the same AVR using HDMI, and that is way more finnicky. If the amp is on before the Xbox, then it will always fallback to PCM2.0, the Xbox has to be booted first to get the AVR and the Xbox to sync the 5.1 AC3 bitstream. HDMI handshaking is notoriously complicated and flakey, even with the best set-top boxes, let alone computers. Optical is definitely the way to go if you can.

I would suspect your sound card at first. Read this (entire) article from the author of AC3Filter - it explains the complicated process that sound cards have to manage to initialize a 5.1 bitstream, while interacting with system sounds, etc. he says some sound cards just don't do a good job of it:

http://ac3filter.net/guides/ac3filter_spdif


If you give me some details on what your setup consists of, maybe we can narrow it down to drivers, the soundcard, cabling, or your amplifier, because it surely isn't ffdshow or dsplayer.

Cheers
The REAL Joe


- tiben20 - 2010-12-29

good news
(old)
Image
(new)
Image
Big improvements
1.fixed color planes taht were screwed
2.fixed a/v out of sync
3.fixed decoder fps
4.some other stuff that cant be noticed from the print screen


- therealjoeblow - 2010-12-29

tiben20 Wrote:good news


Big improvements
1.fixed color planes taht were screwed
2.fixed a/v out of sync
3.fixed decoder fps
4.some other stuff that cant be noticed from the print screen

Awesome work Tiben. Looking forward to a testing build!

Is the DSNative.dll for use with video decoders only, or will you be able to also call the ffdshow audio decoder too (the website for the .dll wasn't specific)?

Cheers
The REAL Joe


- alexrose1uk - 2010-12-30

therealjoeblow Wrote:Can you provide some details of your setup to make troubleshooting easier? I playback both AC3 and DTS exclusively with ffdshow in passthru mode without any issue whatsoever in XBMC (DSPlayer), MPC-HC and ZoomPlayer, so it's got to be something wrong with your hardware/setup.

*snip*

If you give me some details on what your setup consists of, maybe we can narrow it down to drivers, the soundcard, cabling, or your amplifier, because it surely isn't ffdshow or dsplayer.

Cheers
The REAL Joe

Thanks in advance,

I'm using the machine listed in signature, connected via HDMI from the GT220, via a Yamaha RX-V1800 AVR. Currently on Win7 x64 with 260.xx+ drivers. There is no soundcard involved.

I doubt the hardware is causing the fault; as, as mentioned previously, WASAPI using XBMC's DVDPlayer works flawlessly, and bitstreams DTS/DD 100% of the time, every time, and has since I started using XBMC about 5 months ago. I'd never run into this issue where LPCM works 100% but bitstream was flakey with this setup before, which is why I thought it would be related to FFDshow/DSPlayer somewhere. Also this involves DD 2 channel bitstream, not just 5.1.

My only thought is that it could be some sort of conflict somewhere involving DSPlayer, FFDShow and the microsoft HDMI audio driver; I'm not using Nvidia's HDMI audio driver as I used to run into intermitant issues where no audio sync was established at all, either PCM or anything else, until the machine was rebooted, whereas with the MS driver I encountered no such issue.
From a little reading around I think this was likely to be caused by an annoying whitelist/EDID feature Nvidia put into thier HMDI Audio driver which means if conditions aren't perfect when the card is initialised on boot, or it doesnt like any information it recieves from the other equipment in handshake, then it'll disable audio output until reboot, but it's been several months since I dropped Nvidia's HDMI audio driver so I can't 100% remember.

Either way, it leaves me in a strange situation where LPCM works 100%, and DD/DTS via WASAPI work perfectly, but not via FFDshow.


- therealjoeblow - 2010-12-30

alexrose1uk Wrote:Thanks in advance,

I'm using the machine listed in signature, connected via HDMI from the GT220, via a Yamaha RX-V1800 AVR. Currently on Win7 x64 with 260.xx+ drivers. There is no soundcard involved.

I doubt the hardware is causing the fault; as, as mentioned previously, WASAPI using XBMC's DVDPlayer works flawlessly, and bitstreams DTS/DD 100% of the time, every time, and has since I started using XBMC about 5 months ago. I'd never run into this issue where LPCM works 100% but bitstream was flakey with this setup before, which is why I thought it would be related to FFDshow/DSPlayer somewhere. Also this involves DD 2 channel bitstream, not just 5.1.

My only thought is that it could be some sort of conflict somewhere involving DSPlayer, FFDShow and the microsoft HDMI audio driver; I'm not using Nvidia's HDMI audio driver as I used to run into intermitant issues where no audio sync was established at all, either PCM or anything else, until the machine was rebooted, whereas with the MS driver I encountered no such issue.
From a little reading around I think this was likely to be caused by an annoying whitelist/EDID feature Nvidia put into thier HMDI Audio driver which means if conditions aren't perfect when the card is initialised on boot, or it doesnt like any information it recieves from the other equipment in handshake, then it'll disable audio output until reboot, but it's been several months since I dropped Nvidia's HDMI audio driver so I can't 100% remember.

Either way, it leaves me in a strange situation where LPCM works 100%, and DD/DTS via WASAPI work perfectly, but not via FFDshow.

Well, it does have a sound processor chip on the video card (all of them do if they support audio over HDMI), so technically there *is* a sound card involved; only Nvidia decided to build their own chip instead of using Realtek like everyone else did, which is part of the problem, they have proprietary non-standard ways of doing things, which is a big no-no in HDMI land. Did you see this page:

http://wiki.xbmc.org/?title=HOW-TO_set_up_HDMI_audio_on_nVidia_GeForce_G210%2C_GT220%2C_or_GT240

It seems that the GT2xx series of cards are particularly problematic with bitstreaming over HDMI, enough so to warrant their own page in the wiki (albeit linux related)...

Here's more info, windows related, which (if you read far enough) explains why WASAPI works and regular bitstreaming doesn't:

http://www.avsforum.com/avs-vb/showthread.php?t=1195574

Time to try ATI/Realtek :-)

Cheers
The REAL Joe


- alexrose1uk - 2010-12-30

I was talking more in the broad sense of the word in terms to soundcard; as in I'm using a video solution, rather than motherboard/plug in audio card.

I believe I've seen both of those pages in the past, however it still doesn't tell me why the bitstream works perfectly sometimes and might for 10 reboots, and then fails just as much. It's just plain bizarre.

Perhaps I'll try whacking Nvidia's driver back on again and see if it decides to play nice.


ATI were actually my first choice (my original plan was to go for a 5xxx series card as then I'd have been sorted for HD Bitstream in the future and the passive cards were cheaper), but unfortunately I have some videos that just don't decode via DXVA nicely with ATI cards, whereas they playback perfectly when decoded by Nvidia cards.

Strangely ATI/Nvidia cards seem to handle something differently elsewhere as well, as several times now I've noticed even with ATI's image processing disabled in the advanced section on control panel, some videos take on a slightly blocky appearance, even if the native res should be fine



Edit: Just realised the audio stream select function in the UI no longer works, probably because its tied into xbmc internal audio mixer. Is there any way to change between audio tracks with dsplayer?


- uncertainty - 2010-12-30

I see the offical 10.0 Dharma was released on 12/18 and people mentioned that once that takes place their would be daily downloads available for the dsplayer branch. First is the correct and if so where do I locate the dsplayer branch for 1.0 Dharma offical release?

thanks

Edit: I see that this was answered around 12/18 so disregard this one...thanks to Obi for the info


- Obi Have - 2010-12-30

uncertainty Wrote:I see the offical 10.0 Dharma was released on 12/18 and people mentioned that once that takes place their would be daily downloads available for the dsplayer branch. First is the correct and if so where do I locate the dsplayer branch for 1.0 Dharma offical release?

thanks

Did you check the posts from the 18th on? I bet you didn't.


- KRA77 - 2010-12-31

Since I use my Mediapc for TV I need good codecs and de-interlace. The default xbmc simply doesn't cut it. Poor picture quality and lack of de-interlace with dxva. Today I figured I'd try this version of xbmc (I have above average computer skills, but fairly new to xbmc). I have installed http://forum.xbmc.org/showpost.php?p=671530&postcount=3909 this version, but I hope some still can help.

Now my tv recordings are TS files, with different content, some are mpg2 others are h264 etc. Now DXVA and de-interlace is important to me, I have a slow cpu, but a good gfx card, so I really need the dxva.

First I tried the default settings, but then I had no dxva. So I replaced the filter for TS files to use FFDshow DXVA version. This is where I notice first problem, several files will not playback, playback simply never starts. My guess was that some of the TS streams where not DXVA compatible, and the ffdshowdxva codec will only playback dxva complient streams ??

So I figured I'd try the cyberlink codec since it plays pretty much anything you throw at it, it didn't work at all, but I notice the guid was wrong, so I entered the right one, and it worked, but then I again experience problem with severeal files. This time they start playback, and statistics show dxva in use etc.. but only black screen and no sound. (same problem if I turn off dxva in codec)

So I'm starting to think maybe it's not a codec issue, since different codecs somewhat the same problem. Also cyberlink plays files ffdshowdxva fails at, so that seems to rule out problems with the file itself.


- tiben20 - 2010-12-31

KRA77 Wrote:Since I use my Mediapc for TV I need good codecs and de-interlace. The default xbmc simply doesn't cut it. Poor picture quality and lack of de-interlace with dxva. Today I figured I'd try this version of xbmc (I have above average computer skills, but fairly new to xbmc). I have installed http://forum.xbmc.org/showpost.php?p=671530&postcount=3909 this version, but I hope some still can help.

Now my tv recordings are TS files, with different content, some are mpg2 others are h264 etc. Now DXVA and de-interlace is important to me, I have a slow cpu, but a good gfx card, so I really need the dxva.

First I tried the default settings, but then I had no dxva. So I replaced the filter for TS files to use FFDshow DXVA version. This is where I notice first problem, several files will not playback, playback simply never starts. My guess was that some of the TS streams where not DXVA compatible, and the ffdshowdxva codec will only playback dxva complient streams ??

So I figured I'd try the cyberlink codec since it plays pretty much anything you throw at it, it didn't work at all, but I notice the guid was wrong, so I entered the right one, and it worked, but then I again experience problem with severeal files. This time they start playback, and statistics show dxva in use etc.. but only black screen and no sound. (same problem if I turn off dxva in codec)

So I'm starting to think maybe it's not a codec issue, since different codecs somewhat the same problem. Also cyberlink plays files ffdshowdxva fails at, so that seems to rule out problems with the file itself.
get graphstudio and connect to the player while its playing. You will see if every connection were made. It's also a good tool when you want to see if the setup your using in xbmc is connecting beetween each others. Usually ffdshow dxva need some codec configuration before the connection can be made.


- mbolhuis - 2010-12-31

KRA77 Wrote:Since I use my Mediapc for TV I need good codecs and de-interlace. The default xbmc simply doesn't cut it. Poor picture quality and lack of de-interlace with dxva. Today I figured I'd try this version of xbmc (I have above average computer skills, but fairly new to xbmc). I have installed http://forum.xbmc.org/showpost.php?p=671530&postcount=3909 this version, but I hope some still can help.

Now my tv recordings are TS files, with different content, some are mpg2 others are h264 etc. Now DXVA and de-interlace is important to me, I have a slow cpu, but a good gfx card, so I really need the dxva.

First I tried the default settings, but then I had no dxva. So I replaced the filter for TS files to use FFDshow DXVA version. This is where I notice first problem, several files will not playback, playback simply never starts. My guess was that some of the TS streams where not DXVA compatible, and the ffdshowdxva codec will only playback dxva complient streams ??

So I figured I'd try the cyberlink codec since it plays pretty much anything you throw at it, it didn't work at all, but I notice the guid was wrong, so I entered the right one, and it worked, but then I again experience problem with severeal files. This time they start playback, and statistics show dxva in use etc.. but only black screen and no sound. (same problem if I turn off dxva in codec)

So I'm starting to think maybe it's not a codec issue, since different codecs somewhat the same problem. Also cyberlink plays files ffdshowdxva fails at, so that seems to rule out problems with the file itself.

Hi I'm not supper technical and don't know a lot about video quality and stuff. What I do know ( I think, other people can correct/teach me if I'm wrong) is that for TS files DSplayer uses the FFDshow video decoder, which doesn't use DXVA. FFDshow DXVA obviously does support DXVA, however FFDshow DXVA does not work for mpg2. It only works with H264 an VC-1. I have one movie which is a TS file (mpg2) Avatar (2009) which is in a really high quality and I needed DXVA to have a decent frame rate.

The MPC video decoder supports DXVA for H264 and VC-1 as well but the TS splitter isn't that great.So I used the Haali Media Splitter instead. I followed this guide to set it up for MPC-HC. When I Confirmed that it worked. I used Haali in combination with DSplayer as well and that worked perfectly.

So to use Haali you need to do 3 things.
  1. Install Haali Media Splitter - Just install Haali Media Splitter (you can use Step 1 of this guide to help you)
  2. Configure filtersconfig.xml - filtersconfig.xml is located in: (XBMC install folder)/system/players/dsplayer in filtersconfig.xml you need to add the following code under filters:
    Code:
    <filter name="haali" type="source">
      <guid>{55DA30FC-F16B-49FC-BAA5-AE59FC65F82D}</guid>
      <osdname>Haali Media Splitter</osdname>
    </filter>
  3. Configure mediasconfig - Located in the smame folder as filtersconfig.xml - Replace
    Code:
    <rule filetypes="ts|mpeg|mpg|m2ts">
          <source filter="mpegsource" />
          <splitter filter="mpegsplitter" />
          <video filter="ffdvideodec" />
          <audio filter="ffdaudiodec" />
        </rule>
    with:
    Code:
    <rule filetypes="ts|mpeg|mpg|m2ts">
          <source filter="haali" />
          <splitter filter="haali" />
          <video filter="mpcvideodec" />
          <audio filter="ffdaudiodec" />
        </rule>

If everything is configured right you will see a blue ffdshow logo (audio) and a white haali logo in your system tray. In XBMC you can check if everything is OK by pressing "O" during playback to displays CPU usage and video diagnostic information. If everything is right you will see that the video decoder is MPC video decoder and the Splitter is Haali.

NOTE: To use Haali in MPC-HC you need to uncheck MPEG PS/TS/PVA (located in Options/Filters)

Hope this will help. If note you need to wait for someone else to help you.

Grtz

Maarten Bolhuis


- KRA77 - 2010-12-31

Thank you Tiben20 and mbolhuis, thanks to you I have made progress.

First off Tiben20, graphstudio showed the same graph for the video that played normal, and for the one that only shows black screen and no sound. I could not test with FFDShowDXVA since it doesn't even start playback.

Then I went on to use Haali splitter for my TS files, and yes it worked, files that did not play or only was black screen before now plays fine.

However, with haali splitter I'm only able to playback TS files from HD channels, my SD channel recordings will not start at all, so I cant run graphstudio to check either.

I will see if I find a way to use cyberlink splitter now to test more.

Thank you for your support, more input is also welcome Wink


- mbolhuis - 2010-12-31

KRA77 Wrote:However, with haali splitter I'm only able to playback TS files from HD channels, my SD channel recordings will not start at all, so I cant run graphstudio to check either.

For SD content you don't need DXVA I presume. I know you can set conditions in the mediasconfig.xml. So if it is HD content DSplayer uses Haali in combination with the MPC video decoder. And with SD content you would use the default.

So that would mean that
Code:
<rule filetypes="ts|mpeg|mpg|m2ts">
      <source filter="haali" />
      <splitter filter="haali" />
      <video filter="mpcvideodec" />
      <audio filter="ffdaudiodec" />
    </rule>

Will become something like this:
Code:
<rule filetypes="ts|mpeg|mpg|m2ts">
      <source filter="haali" />
      <splitter filter="haali" />
      <video>
         <video dxva="true" filter="mpcvideodec" />
         <video filter="ffdvideodec" />
      <video>
      <audio filter="ffdaudiodec" />
    </rule>

This means you will still use Haali Media Splitter, but you will use different video decoders for HD and SD content.

Hope this solves your problem

Grtz

Maarten Bolhuis


- KRA77 - 2010-12-31

Maarten Bolhuis ! You did it again.

Although you did not post the solution you pointed me in the right direction.

I had actually experimented with the dxva="true" option, so simply removing the dxva="true" command and use haali splitter and cyberlink codec solved it !! Now it plays everything.

Thank you mate!


- mbolhuis - 2010-12-31

KRA77 Wrote:Maarten Bolhuis ! You did it again.

Although you did not post the solution you pointed me in the right direction.

I had actually experimented with the dxva="true" option, so simply removing the dxva="true" command and use haali splitter and cyberlink codec solved it !! Now it plays everything.

Thank you mate!

Glad to hear that it is working. Hope you'll enjoy XBMC.

of topic: I read that you use it as your MediaPC connected to a TV. Maybe you should look at Kylo. It is a web browser optimized for big screens. It isn't perfect but it makes surfing the internet way easier.You can launch it straight from XBMC if you want

have fun

Maarten Bolhuis