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)



- oldpainless - 2010-06-13

Hi Seb,

Looks to me that there are issues with the build that dsplayer is merged with.


But......still testing.

K


- blinkseb - 2010-06-13

SlavikZ Wrote:I have problems with MKV HD Video playing on Windows XP with the latest build. The video is not shown. There're a lot of "ERROR: m_pD3DDevice->BeginScene() failed" messages in log. Here is the full debug log:
http://pastebin.org/327803
On Windows 7 everything works fine.

The problem is here :
Code:
14:23:55 T:2120 M:979144704   ERROR: exception in CApplication::FrameMove()

There's an exception, so the DirectX device is never recreated; That explains the errors after.

Does this occur with all file or only one?


- SlavikZ - 2010-06-13

blinkseb Wrote:The problem is here :
Code:
14:23:55 T:2120 M:979144704   ERROR: exception in CApplication::FrameMove()

There's an exception, so the DirectX device is never recreated; That explains the errors after.

Does this occur with all file or only one?
I've try to investigate my problem more close - it is differ a little from the my first description. So, the problem arise from second after the OS boot DSPlayer usage. In other words - the first time you use DSPlayer everything OK, but after that you never get the video (even with the same file) until you reboot the OS. File format doesn't matter - I tried avi, mkv, wmv with the same result. DVDPlayer and the old april build of DSPlayer work OK.
There're another 2 debug logs:
http://pastebin.org/328563
http://pastebin.org/328568

Their scenario the same: just after the boot XBMC play file OK with DSPlayer, than I press stop button and try play the same file without success.


- Freddo - 2010-06-14

blinkseb Wrote:You can find a list of what setting you can tweak here : http://trac.xbmc.org/browser/branches/dsplayer/xbmc/cores/DSPlayer/Filters/RendererSettings.cpp, starting at line 103. You can see default values here : http://trac.xbmc.org/browser/branches/dsplayer/xbmc/cores/DSPlayer/Filters/RendererSettings.h (SetDefault methods).

Hi Blinkseb,

I was trying to find a way to change the pixel format or output range of the renderer to match my tv, is this the correct syntax?

Code:
<renderersettings>
  <sharedsettings>
    <VSync>false</VSync>
  </sharedsettings>
  <evrsettings>
    <HighColorResolution>true</HighColorResolution>
    <Outputrange>1</outputrange>  
  </evrsettings>
  <vmr9settings>
  </vmr9settings>
</renderersettings>

I'm basing that on this from renderersettings.cpp

Code:
139          XMLUtils::GetInt(pElement, "OutputRange", (int &) pSettings->outputRange, 0, 1);

and this from renderersettings.h

Code:
59    enum EVR_OUTPUT_RANGE
60    {
61      OUTPUT_RANGE_0_255 = 0,
62      OUTPUT_RANGE_16_235
63    };

It doesn't seem to be working. you can see the output range in the renderer stats, mine is stuck at 0-255 and I need 16-235 for my tv. Is this setting "hooked up" so to speak? Or have I got my xml wrong?

Thanks either way, Freddo.

double edit: don't write xml tired. Here's how to do it and it works just perfect thanks Blinkseb:

Code:
<renderersettings>
  <sharedsettings>
    <VSync>false</VSync>
  </sharedsettings>
  <evrsettings>
    <HighColorResolution>true</HighColorResolution>
    <OutputRange>1</OutputRange>
  </evrsettings>
  <vmr9settings>

  </vmr9settings>
</renderersettings>

Case sensetivity tripped me up.Laugh


- blinkseb - 2010-06-14

Freddo Wrote:Hi Blinkseb,

I was trying to find a way to change the pixel format or output range of the renderer to match my tv, is this the correct syntax?

Code:
<renderersettings>
  <sharedsettings>
    <VSync>false</VSync>
  </sharedsettings>
  <evrsettings>
    <HighColorResolution>true</HighColorResolution>
    <Outputrange>1</outputrange>  
  </evrsettings>
  <vmr9settings>
  </vmr9settings>
</renderersettings>

I'm basing that on this from renderersettings.cpp

Code:
139          XMLUtils::GetInt(pElement, "OutputRange", (int &) pSettings->outputRange, 0, 1);

and this from renderersettings.h

Code:
59    enum EVR_OUTPUT_RANGE
60    {
61      OUTPUT_RANGE_0_255 = 0,
62      OUTPUT_RANGE_16_235
63    };

It doesn't seem to be working. you can see the output range in the renderer stats, mine is stuck at 0-255 and I need 16-235 for my tv. Is this setting "hooked up" so to speak? Or have I got my xml wrong?

Thanks either way, Freddo.

double edit: don't write xml tired. Here's how to do it and it works just perfect thanks Blinkseb:

Code:
<renderersettings>
  <sharedsettings>
    <VSync>false</VSync>
  </sharedsettings>
  <evrsettings>
    <HighColorResolution>true</HighColorResolution>
    <OutputRange>1</OutputRange>
  </evrsettings>
  <vmr9settings>

  </vmr9settings>
</renderersettings>

Case sensetivity tripped me up.Laugh

Just a quick info, unless you're using lastest svn revisions, the HighColorResolution does not work, but the OutputRange works.


- oldpainless - 2010-06-14

Seb,

Couple of bugs ;

1 - Trailers - dsplayer tries to play the aspx file, even tho it's not configured, so you get an error. In previous builds, DVDplayer handled the trailers.

2 - changing the Video scaling method is not saved.

3 - I get crashes now and again if the video file is paused (although, I cannot get this to happen in debug mode).

Still testing......

K


- therealjoeblow - 2010-06-14

SlavikZ Wrote:I've try to investigate my problem more close - it is differ a little from the my first description. So, the problem arise from second after the OS boot DSPlayer usage. In other words - the first time you use DSPlayer everything OK, but after that you never get the video (even with the same file) until you reboot the OS. File format doesn't matter - I tried avi, mkv, wmv with the same result. DVDPlayer and the old april build of DSPlayer work OK.
There're another 2 debug logs:
http://pastebin.org/328563
http://pastebin.org/328568

Their scenario the same: just after the boot XBMC play file OK with DSPlayer, than I press stop button and try play the same file without success.

Sounds very similar to the problems I was reporting on WinXP - Seb, is this this the same thing?

/The REAL Joe


- blinkseb - 2010-06-14

I don't know if it's related. I've heard of some issue with the video database causing that kind of issues, but I'm not sure if it is, again, related.

First, I found what cause the DirectX device reset. It is XBMC vSync turning on / off before / after playing a file when it's set to "Always". therealjoeblow, can you try to play some files setting the XBMC sync to Disabled?

Second, SlavikZ, I have absolutly no idea what's going on. I don't have that issue here, so it's hard to tell, but I continue to investigate.


- Freddo - 2010-06-15

I added what I found out about OutputRange to the wiki, thanks again for all your hard work!

Renderer Settings Wiki


- hsinchu308 - 2010-06-15

SlavikZ Wrote:I've try to investigate my problem more close - it is differ a little from the my first description. So, the problem arise from second after the OS boot DSPlayer usage. In other words - the first time you use DSPlayer everything OK, but after that you never get the video (even with the same file) until you reboot the OS. File format doesn't matter - I tried avi, mkv, wmv with the same result. DVDPlayer and the old april build of DSPlayer work OK.
There're another 2 debug logs:
http://pastebin.org/328563
http://pastebin.org/328568

Their scenario the same: just after the boot XBMC play file OK with DSPlayer, than I press stop button and try play the same file without success.

I am having a similar problem. I posted pastebin info a few days back, and Blinkseb have spent quite of a bit of time helping me in PM (Thanks Seb!) I've done more testing and basically my symptoms are the same: avi or mkv plays fine at first, but after 1 or 2 stop/starts, I get no video, only audio.

But my problem is more serious: when I get no video, the keyboard becomes non-responsive inside XBMC, and I have to kill it. After this, even rebooting does not help - the same file will not play with video anymore, until I remove the video database (removing userdata), or, play the file with dvdplayer, which always plays fine, then immediately followed by dsplayer.

I am still testing. But interestingly, I don't have this problem on my XP machine, only the Windows 7 machine, the opposite of your case :confused2:. The one thing I can see that we have in common is that we both have Intel Atom w/ Nvidia ION (the Windows 7 machine is a Acer Revo 3610, whereas my XP machine is a P4 w/ Nvidia 8400GS).

I'll let you know if I have more info after more testing. Maybe other people that have this problem can share some of their info?

PS. My Windows 7 machine is getting the video through smb from my XP machine. I don't know if this matters or not. It worked fine on all previous builds. EDIT: Nope, copied file to hard drive and the problem still exist.


- tiben20 - 2010-06-15

hsinchu308 Wrote:I am having a similar problem. I posted pastebin info a few days back, and Blinkseb have spent quite of a bit of time helping me in PM (Thanks Seb!) I've done more testing and basically my symptoms are the same: avi or mkv plays fine at first, but after 1 or 2 stop/starts, I get no video, only audio.

But my problem is more serious: when I get no video, the keyboard becomes non-responsive inside XBMC, and I have to kill it. After this, even rebooting does not help - the same file will not play with video anymore, until I remove the video database (removing userdata), or, play the file with dvdplayer, which always plays fine, then immediately followed by dsplayer.

I am still testing. But interestingly, I don't have this problem on my XP machine, only the Windows 7 machine, the opposite of your case :confused2:. The one thing I can see that we have in common is that we both have Intel Atom w/ Nvidia ION (the Windows 7 machine is a Acer Revo 3610, whereas my XP machine is a P4 w/ Nvidia 8400GS).

I'll let you know if I have more info after more testing. Maybe other people that have this problem can share some of their info?

PS. My Windows 7 machine is getting the video through smb from my XP machine. I don't know if this matters or not. It worked fine on all previous builds.
---->>>DEBUG: CRenderSystemDX:TongueresentRenderImpl - Present failed with hr=...
that line is really the big problem there. Xbmc is basically a 3d game where you can play video in it. Games are simple when you consider its simply a loop doing in 3 steps 1. begin 2.presentation 3. end
But this line mean the loop just crashed and your screwed. :S


- hsinchu308 - 2010-06-15

tiben20 Wrote:---->>>DEBUG: CRenderSystemDX:TongueresentRenderImpl - Present failed with hr=...
that line is really the big problem there. Xbmc is basically a 3d game where you can play video in it. Games are simple when you consider its simply a loop doing in 3 steps 1. begin 2.presentation 3. end
But this line mean the loop just crashed and your screwed. :S

Actually, my debug log looks different from his. It's here:
http://pastebin.com/4r346HyE

Another:
http://pastebin.com/TKuFwJJc

As you can see, dsplayer did not even get to the screen size detection part:
CDX9AllocatorPresenter:Tongueaint Detected screen size : 1920x1080
that I get when the movie starts up properly. According to his log he could exit normally, whereas I have to kill XBMC because it does not respond to keyboard input at that point.

Anyway, it seems to me that the video playback starts before all of the settings/devices (screen did not even clear to black) finished initializing....However, for me, playing it with dvdplayer immediately following by dsplayer fixes the problem temporarily. Huh:confused2:Huh


- dlmh - 2010-06-15

blinkseb Wrote:I try your two sample files, and I works really fine here. I can reproduce your issue.

PS: My keyboard just die five minutes ago Eek I won't be able to code for the next few days, time to buy a new one Oo

I think the problem is when trying to handshake for HD audio and then starting the movie. If I disable bitstreaming for DTS-HD and Dolby TrueHD the movie will start (most of the times).

Nobody around with Intel HD Graphics and have HD audio working (perfectly)?


- tiben20 - 2010-06-15

hsinchu308 Wrote:Actually, my debug log looks different from his. It's here:
http://pastebin.com/4r346HyE

Another:
http://pastebin.com/TKuFwJJc

As you can see, dsplayer did not even get to the screen size detection part:
CDX9AllocatorPresenter:Tongueaint Detected screen size : 1920x1080
that I get when the movie starts up properly. According to his log he could exit normally, whereas I have to kill XBMC because it does not respond to keyboard input at that point.

Anyway, it seems to me that the video playback starts before all of the settings/devices (screen did not even clear to black) finished initializing....However, for me, playing it with dvdplayer immediately following by dsplayer fixes the problem temporarily. Huh:confused2:Huh
That would be easier if you could test directly from visual studio in debug mode. When an assert go wrong you get a breakpoint If you get one you could just tell us where you get it. I dont know if the korean characters might be producing an error.


- bauzl1man - 2010-06-15

hi blinkseb

first of, thanks dude for the work! Looks great!

I tried your last 5 revisions or so, but thought I give a little feedback now:

Running XBMC on an ASUS EEEbox 1501, Win 7, Atom 330, Nvidia ION.

all Videos I've tried so far seem to work great. After tweaking ffdshow of course and fideling around some more. CPU is at 15 - 22% average. Audio seems to work good too.
As I am not a Video prof, tell me when you need more details.

The only format it seems to have problems with is .mpg4.
I hardly have any drops, not in mkv, not in avi. Only .mpg4 (when i press 'o' for codec info) has some playback issues. (drops frames, makes it look choppy).

I dont know if that is a DSplayer related issue (if not, sorry!):
- after reloading my movie Database, the sets are not recognized anymore.

well, thanks again. if you can need any help, just PM me. Web Dev and allround coder here.

greetz