User Tools

Site Tools


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
duga/programmer.txt · Last modified: 2016-05-18 01:37:11 (external edit)