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-10-16

tiben20 Wrote:It would be a piece of cake for someone has a minimal knowledge of vb.net or c# to make that kind of app. Taking in consideration how much easy it is to code in .net,=

I wrote one in VB6 not that long ago that does exactly that for ZoomPlayer via a GUI that I can easily control with my remote before ZP launches - it lets you select FFDShow, PowerDVD8, PowerDVD9, or NVidia as the dvd decoder.

ZP stores that info in the registry, and that was the biggest challenge since VB6 doesn't have any built-in routines for access to random registry keys (VB.net does), so my app has about 10 lines of code for actually selecting the decoder, and a couple of hundred lines for getting it into the registryConfused

Writing out to a text (xml) file instead of the registry would comparatively be a piece of cake.

I can post the source code if anyone wants it, it would be a good starting point for manipulating the DSPlayer codecs.

Cheers
The REAL Joe


- wireballz - 2010-10-17

therealjoeblow Wrote:I wrote one in VB6 not that long ago that does exactly that for ZoomPlayer via a GUI that I can easily control with my remote before ZP launches - it lets you select FFDShow, PowerDVD8, PowerDVD9, or NVidia as the dvd decoder.

ZP stores that info in the registry, and that was the biggest challenge since VB6 doesn't have any built-in routines for access to random registry keys (VB.net does), so my app has about 10 lines of code for actually selecting the decoder, and a couple of hundred lines for getting it into the registryConfused

Writing out to a text (xml) file instead of the registry would comparatively be a piece of cake.

I can post the source code if anyone wants it, it would be a good starting point for manipulating the DSPlayer codecs.

Cheers
The REAL Joe


I would like to see the code Smile

Thanks, Wire


- blinkseb - 2010-10-17

therealjoeblow Wrote:I wrote one in VB6 not that long ago that does exactly that for ZoomPlayer via a GUI that I can easily control with my remote before ZP launches - it lets you select FFDShow, PowerDVD8, PowerDVD9, or NVidia as the dvd decoder.

ZP stores that info in the registry, and that was the biggest challenge since VB6 doesn't have any built-in routines for access to random registry keys (VB.net does), so my app has about 10 lines of code for actually selecting the decoder, and a couple of hundred lines for getting it into the registryConfused

Writing out to a text (xml) file instead of the registry would comparatively be a piece of cake.

I can post the source code if anyone wants it, it would be a good starting point for manipulating the DSPlayer codecs.

Cheers
The REAL Joe

VB6, really? Rofl


- therealjoeblow - 2010-10-20

VB6. Really. That's all I know, and for basic programming tasks, it's all I need.

Here's the code, c/w compiled .EXE(s, one with borders, one without). Designed to work with a remote, hit up and down arrows till the decoder you want is hilighted, then hit enter to write to registry and exit... Could easily be adapted to write to a text (XML) file instead and maintain the same functionality to select codecs for DSPlayer.

Cheers to Steve McMahon for the registry code - I would never have figured this out on my own (VB.net has builtin support that can do this in 2 or 3 lines).

http://rapidshare.com/files/426229885/DVD_Decoder_Menu.rar

There. Don't say I never contributed anything :-)

Did I mention my coding skills suck?

The REAL Joe


- wireballz - 2010-10-20

therealjoeblow Wrote:VB6. Really. That's all I know, and for basic programming tasks, it's all I need.

Here's the code, c/w compiled .EXE(s, one with borders, one without). Designed to work with a remote, hit up and down arrows till the decoder you want is hilighted, then hit enter to write to registry and exit... Could easily be adapted to write to a text (XML) file instead and maintain the same functionality to select codecs for DSPlayer.

Cheers to Steve McMahon for the registry code - I would never have figured this out on my own (VB.net has builtin support that can do this in 2 or 3 lines).

http://rapidshare.com/files/426229885/DVD_Decoder_Menu.rar

There. Don't say I never contributed anything :-)

Did I mention my coding skills suck?

The REAL Joe


Sweet, Thanks man Smile


Wire


madVR - cl0ud - 2010-10-26

HI

Any chance of getting madVR support in DSPlayer anytime soon?

If someone can point me to where I can download the xbmc dsplayer source I'll have a go at adding support for it.


- tiben20 - 2010-10-26

cl0ud Wrote:HI

Any chance of getting madVR support in DSPlayer anytime soon?

If someone can point me to where I can download the xbmc dsplayer source I'll have a go at adding support for it.
only the video renderers that are able to output to 3dsurface like vmr9 vmr7 and custom evr are able to do that. If you can verify it is able to do so i can tell you where to add it.


- cl0ud - 2010-10-26

Alright I'll have a look and get back to you


- cl0ud - 2010-11-02

Hi again

I've had a talk with Mad Shi, the developer of MadVR.

Yes MadVR does support rendering to a 3D surface however because of the way MadVR works it needs to create the Direct3D surface itself, its unable to use a Direct3D surface created by media player.

Madshi goes on to explain that MadVR also switches seamlessly between windowed and fullscreen exclusive mode on the fly whenever it makes sense to do so.

MadVR is designed to behave like VMR-7/9 but only supports windowed (compatibility) mode at this time and exposes the following interfaces,

IVideoWindow
IBasicVideo
IBasicVideo2

MadVR at this time does not have anyway to allow the media player to draw a OSD or subtitles but MadShi is working no this.

Anyway given this information, do you think it will still be possible to integrate madVR into DSPlayer? I think that if we can get at least basic integration, just get it working, then we can look at fine tuning it and adding support for features such as subtitles, etc, as they become available.

MadShi is quite happy to support this project if it goes ahead.


- blinkseb - 2010-11-02

cl0ud Wrote:Hi again

I've had a talk with Mad Shi, the developer of MadVR.

Yes MadVR does support rendering to a 3D surface however because of the way MadVR works it needs to create the Direct3D surface itself, its unable to use a Direct3D surface created by media player.

Madshi goes on to explain that MadVR also switches seamlessly between windowed and fullscreen exclusive mode on the fly whenever it makes sense to do so.

MadVR is designed to behave like VMR-7/9 but only supports windowed (compatibility) mode at this time and exposes the following interfaces,

IVideoWindow
IBasicVideo
IBasicVideo2

MadVR at this time does not have anyway to allow the media player to draw a OSD or subtitles but MadShi is working no this.

Anyway given this information, do you think it will still be possible to integrate madVR into DSPlayer? I think that if we can get at least basic integration, just get it working, then we can look at fine tuning it and adding support for features such as subtitles, etc, as they become available.

MadShi is quite happy to support this project if it goes ahead.

That would not be possible if we can't pass a Direct3D surface to the renderer to draw on. Furthermore, if OSD drawing isn't possible, the best way is to use a external player if you want to use madVR.


- cl0ud - 2010-11-03

I would use an external player but I prefer the tight integration that DSPlayer has with XBMC.

Rather than passing a Direct3D surface to madVR, once MadVR is done rendering the scene, if madVR could somehow provide access to its Direct3D surface can you not copy the surface from madVR back onto the surface created by DSPlayer?

OSD and subtiltes is on MadShi's todo list.


- liquidskin76 - 2010-11-03

@tiben
@seb

Not sure if you are aware of this one...

When enabling the 'Allow control of XBMC via HTTP' option in Network Settings, XBMC crashes with a Windows 'XBMC has stopped working' error.

Dharma beta 4 is fine (haven't tested latest trunk, however i expect its fine as Dharma beta is ok Wink). Here's a debug log...

http://pastebin.com/download.php?i=UTWX41Nw

I'm on build 34948. Perhaps it was trunk related, and is sorted in a later trunk build and a merge is needed?

Cheers


- blinkseb - 2010-11-03

liquidskin76 Wrote:@tiben
@seb

Not sure if you are aware of this one...

When enabling the 'Allow control of XBMC via HTTP' option in Network Settings, XBMC crashes with a Windows 'XBMC has stopped working' error.

Dharma beta 4 is fine (haven't tested latest trunk, however i expect its fine as Dharma beta is ok Wink). Here's a debug log...

http://pastebin.com/download.php?i=UTWX41Nw

I'm on build 34948. Perhaps it was trunk related, and is sorted in a later trunk build and a merge is needed?

Cheers

Weird, it has been fixed a while ago. Can you try to do a full rebuild?

The webserver isn't crashing here with Visual studio 2010, but i'll look at it when i've some time.


- liquidskin76 - 2010-11-03

Ok, just tried a fresh build. I usually compile a new .exe instead of updating anyway, however this time i deleted the build folders as well. I also did a complete uninstall.

Still no luck.

Thanks Seb.


- cl0ud - 2010-11-04

Sorry to continue this topic but can I ask why DSPlayer needs to pass a direct 3d surface to the renderer?