Archive:DSPlayer

From Official Kodi Wiki
Revision as of 12:28, 7 February 2010 by >Blinkseb (New page: DSPlayer is a DirectShow based player for XBMC. It's still in developement, and currently supported in the forum in the thread http://forum.xbmc.org/showthread.php?t=61355. DSPlayer suppor...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

DSPlayer is a DirectShow based player for XBMC. It's still in developement, and currently supported in the forum in the thread http://forum.xbmc.org/showthread.php?t=61355. DSPlayer support DXVA hardware acceleration (works in Windows XP, Vista and 7), as well as any custom directshow filters (ffdshow, ac3filter, haali media splitter ...). Lastest builds can be found on here (thanks to XBMC-Passion for the mirors)

In this article, when we refer to dsplayer, we mean XBMC with dsplayer built-in.

Installing

Installing dsplayer is the same thing that installing XBMC. Grab the installer on our miror XBMC-Passion (Usually, lastest revision is better), and run the setup.

Note: you don't need to uninstall previous versions of XBMC. However, some users reported that installing dsplayer over an existing installation of xbmc cause unexpected behavior.

Now, dsplayer should be installed, still a few step to be able to use it.

Configuring

In order to use dsplayer, you need to edit a configuration file to tell dsplayer which filters using when playing your files. The configuration file, named dsfilterconfig.xml, is currently located on \system\players\dsplayer\ in the xbmc install folder (ie c:\Program Files\xbmc\system\players\dsplayer\dsfilterconfig.xml). This location is temporary. Later, dsfilterconfig.xml will be stored in the UserData folder.

Let's see how the dsfilterconfig.xml file looks like. There're two sections. The first one lists the filters dsplayer will be able to use. The second associate filters with a specific media extension.

Filters declaration

Let's see how to declare a filter in dsplayer.

<xml>

<filter name="mkvsource" type="source">
  <path>MatroskaSplitter.ax</path>
  <guid>{0A68C3B5-9164-4A54-AFAF-995B2FF0E0D4}</guid>
  <osdname>MKV Source</osdname>
</filter>

</xml>

Contrary to other players, dsplayer doesn't need filters to be registered in order to use it.

A filter declaration always starts with the filter tag : <xml>

<filter name="name_of_filter" type="type_of_filter">
</filter>

</xml>

The type attribute isn't currently used, so you can ignore it, but the name attribute is mandatory. We'll see in the next section its role. Be careful, don't use space in the filter name, only letters and number.

We now need to specify another mandatory tag, the guid tag. A GUID (Globally Unique Identifier) is an unique identifier which allow media players to load filters. You need the guid of you filter in order to use it with dsplayer. Some examples of popular filters guid :

  • ffdshow video decoder : {04FE9017-F873-410E-871E-AB91661A4EF7}
  • ffdshow audio decoder : {0F40E1E5-4F79-4988-B1A9-CC98794E6B55}
  • haali media splitter : {55DA30FC-F16B-49FC-BAA5-AE59FC65F82D}

You can find guid on the internet, or on the website of the filter.

Now, we have our filter guid : <xml>

<filter name="name_of_filter" type="type_of_filter">
 <guid>{00000000-0000-0000-0000-000000000000}</guid>
</filter>

</xml>

What's next? We need to give the filter a name (shown in xbmc when pressing the i key), using the osdname tag, like that : <xml>

<filter name="name_of_filter" type="type_of_filter">
 <guid>{00000000-0000-0000-0000-000000000000}</guid>
 <osdname>My Filter Name</osdname>
</filter>

</xml>

Ok, now, two choices :

  • The filter is registered on the system. You're done with the filter configuration, congratulations!
  • The filter is not registered on the system. You need to add the path tag to your filter configuration :

<xml>

<filter name="name_of_filter" type="type_of_filter">
 <path>C:\MyFilter.ax</path>
 <guid>{00000000-0000-0000-0000-000000000000}</guid>
 <osdname>My Filter Name</osdname>
</filter>

</xml>

The path tag can be relative to the dsfilterconfig.xml directory or absolute.

Associate media files with filters