VideoPlayer

From Official Kodi Wiki
Jump to navigation Jump to search
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

Development

See the 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 submit a patch.

Technical Details

See the 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)

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).