UML diagrams and more in-depth documentation for XBMC?

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
slicemaster Offline
Senior Member
Posts: 127
Joined: Nov 2008
Reputation: 1
Information  UML diagrams and more in-depth documentation for XBMC?
Post: #1
Well,
I've been lurking around the corners here at XBMC since the early days, and recently the desire to perhaps help in the development just hit (I've been doing a fare amount of C work in university, C++ is new to me but I have a background in Java so I understand the OPP para-dime and the more I dink around with it the more comfortable I get). Anyways, I've already cloned the GIT repository and have XBMC compiling from source no problem. However, just jumping in seems like a little bit of a daunting task and has me feeling uneasy, mainly because I don't really understand how all the peaces are coming together. Anyways, I was wondering if there were any UML diagrams for XBMC's code base that I could look at to at least get a better idea of how all the peaces are interconnected (Classes, interfaces, object inheritance, etc). Also, as I've been browsing through all the source and header files I noticed that the in-file code documentation is lighter than I'm used to seeing. In either case, I've read everything on the Wiki about Linux development but haven't found the depth and breath of information that would help me get a better understanding.

Any pointers, would be extremely helpful.

Cheers,
find quote
davilla Offline
Team-XBMC Developer
Posts: 11,390
Joined: Feb 2008
Reputation: 64
Post: #2
xbmc is too big to try and comprehend all at once. It's best to focus on an individual piece of it rather than try to understand all of it.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 25,694
Joined: Oct 2003
Reputation: 169
Post: #3
You could start by building the doxy sources - should be as simple as running doxygen in the appropriate folder. Some stuff is doxy'd a lot more than others, but at least for the stuff that is doxy'd it should give you some idea.

But the best advice is to start in an area that takes your interest, and step through the code that affects that area until you have an idea of how things fit together.

We welcome documentation patches, and ofcourse will be happy to provide initial pointers etc.

Cheers,
Jonathan

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
find quote
slicemaster Offline
Senior Member
Posts: 127
Joined: Nov 2008
Reputation: 1
Post: #4
Thanks davilla and jmarshal!

Ironically I had just built the Doxy documentation just before I checked the forum. It's a little sparse but like you said, but its a start Smile
I've got some school commitments over the next five weeks or so but when I'm done for the quarter I hope to spend some time familiarizing myself with the XBMC code tree.

My primary interest is in the way XBMC actually handles video content (i.e how it opens files, passes data to the decoder engine, and then finally, once frames are decoded onto the rendering framework). I don't have any experience with GL so that should be interesting but as for the rest I hope I'll be able to pick it up in time.

As for initial pointers, I would like to have a mentor of sorts, so if anyone can recommend a Developer that I can occasionally field questions to regarding my above interests, that would be fantastic.

Anyways, thank you for your time and help.

Cheers,
(This post was last modified: 2012-04-29 05:35 by slicemaster.)
find quote
davilla Offline
Team-XBMC Developer
Posts: 11,390
Joined: Feb 2008
Reputation: 64
Post: #5
DVDPlayer.cpp -> DVDPlayerVideo.cpp (some decoder like DVDVideoCodecVDA.cpp) -> LinuxRendererGL.cpp

In a nut shell Smile


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote