[vlc-devel] Questions about VLC architecture

Justus-bulk at Piater.name Justus-bulk at Piater.name
Sat Sep 20 14:26:30 CEST 2008


Hi,

There are two fundamental design ideas in VLC whose rationale I don't
understand, vlc_object_t (misc/objects.c) and the named variables
(misc/variables.c). I did not find the answers in the developer's
wiki:

- The objects look like they implement a sort-of poor man's
  inheritance, but without the notational convenience, conciseness and
  type safety of an object-oriented language. I guess this is mostly a
  legacy issue?

  Secondly, it looks like all kinds of objects are stored inside a
  single tree (per libvlc instance). Why's this? What does this afford
  over and above a conventional design where each subsystem takes care
  of its own data structures?

- Similarly, why does VLC need a central repository of named
  variables? Why cannot each subsystem maintain its own variables?  To
  me as a newcomer to VLC code, this variable tree looks unwieldy,
  error prone, and inefficient. Again, what does it afford over and
  above a conventional design where each subsystem takes care of its
  own data structures? And why are dynamically-named variables needed
  at all?

Thanks,
Justus



More information about the vlc-devel mailing list