duga:programmer
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 by 127.0.0.1