Architecture, hacking

Branch “refactor”:

  • Multi-threaded application using C++11 threads.
  • CmdParser class that eats commands and executes various things (updates Gconf_s/Compose_s)
  • spawns other threads and passes three parameters to them:
    • Gconf_s - contains variables like framerate and resolution
    • compose - vector of pointers to Compose_s, each element describes one signal source
    • compose_mtx - mutex to protect that vector
  • data:
    • audio samples are read into queue
    • video samples into preallocated vector, because there are 100 MB/s of it and I don't want to have allocations and deallocations in queue
  • AudioReader.cpp, VideoReader.cpp - reads audio/video into “compose”
    • each signal source has one reader thread
  • AudioStreamer.cpp, VideoStreamer.cpp - reads “compose”, combines frames and outputs them
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki