VideoPlayer: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
Line 9: Line 9:
* [http://en.wikipedia.org/wiki/Dolby_Digital Dolby Digital AC3] audio decoder based on [http://liba52.sourceforge.net/ liba52]
* [http://en.wikipedia.org/wiki/Dolby_Digital Dolby Digital AC3] audio decoder based on [http://liba52.sourceforge.net/ liba52]
* [http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC (Advanced Audio Coding)] MPEG-4 audio decoder based on AudioCoding.com's [http://www.audiocoding.com libfaad2]
* [http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC (Advanced Audio Coding)] MPEG-4 audio decoder based on AudioCoding.com's [http://www.audiocoding.com libfaad2]
== Development ==
See the [http://forum.xbmc.org/showthread.php?t=10216 DVDPlayer core/library topic thread in the XBMC development forum] for now.
:Help is always wanted, so if you can program C/C++, please feel free to code and [[HOW-TO submit a patch|submit a patch]].
=== Technical Details ===
See the [http://forum.xbmc.org/showthread.php?t=10216 DVDPlayer core/library topic thread in the XBMC development forum] for now.
=== Classes ===
* InputStreams
** FactoryInputStream, creates an inputstream based on the filename
** File, general file access (hd, cdrom, samba)
** Http
** Navigator, for accessing dvd
* Demuxers
** FactoryDemuxer, creates a demuxer based on inputstream information
** FFmpeg, ffmpeg demuxer wrapper (supports all ffmpeg demuxers)
** Shoutcast, for demuxing shoutcast streams
* Codecs
** FactoryCodec, creates audio and video codecs based upon demuxer information
** Audio
*** FFmpeg, ffmpeg audio decoder wrapper
*** Liba52, liba52 wrapper
*** LibDts, libdca wrapper
*** LibFaad, libfaad wrapper
*** LibMad, libmad wrapper (for mp1, mp2, mp3 decoding)
*** LPcm, lpcm decoding
*** Passthrough, for digital passthrough
** Video
*** LibMpeg2
*** FFmpeg, ffmpeg video decoder wrapper
* Subtitles
=== Modules ===
The player is divided up into a few modules
==== Main Module ====
Runs in a separate thread
Reads data from one of the input streams and sends it over to one of the other modules listed below
Handle DVD events (such as audio / subtitle / video stream changes)
Handle events from xbmc (such as audio / subtitle changes)
==== Audio Module ====
Runs in a separate thread.
Decodes audio data
==== Video Module ====
Runs in a separate thread.
Decodes raw video data into video frames
==== Subtitle Module ====
Process subtitles


== Building Libraries (Audio / Video Codecs) ==
== Building Libraries (Audio / Video Codecs) ==

Revision as of 08:30, 4 May 2015

Cleanup.png This page or section may require cleanup, updating, spellchecking, reformatting and/or updated images. Please improve this page if you can. The discussion page may contain suggestions.


DVDPlayer is XBMC's video player, capable of playing DVD video and many other video formats. DVDPlayer supports DVD video with menus, from CD/DVD-media, harddrive, network, ISO/IMG-images and RAR/ZIP archives (and even RARed ISO/IMG-images as long as they are in 'stored/archive' mode and not compressed).

Currently Supported Codecs

Building Libraries (Audio / Video Codecs)

The dvdplayer depends on other libraries to function. These libraries are included in SVN by default as dll's under the "XBMC/system/players/dvdplayer" subfolder. The full source code of these libraries can be found under the "/docs/sources/dvdplayer/" subfolder in the SVN. To build these dll's yourself you need to have the following installed, (the .dll's must be then be placed under the "[XBMCFOLDER]/system/players/dvdplayer" subfolder).