summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2020-07-14types: add avd_mutex to ProgDataVito Caputo
avd accesses aren't serialized currently despite occurring from concurrent threads. I'm reworking avd but this just introduces and initializes a mutex for the existing variable.
2020-07-14get_frame: s/cond_broadcast/cond_signal/Vito Caputo
Vestigial broadcast, only a single waiter on this now.
2020-07-14get_frame: don't let avd influence frame samplingVito Caputo
Maybe this made sense at some point in the original code, but the way I have this setup currently get_frame() should strictly capture a frame on every tick of the timer at the desired FPS to the best of its ability. The capture_frameno gets propagated to the encoder whenever a new frame is acquired on that timer. When the encoder consumes it, it should just dupe the frame to fill any gaps between the last encoded frameno and the new one. As-is, this avd value seems to drift permanently negative eventually at which point get_frame() ceases ever waiting on the timer. That's obviously broken, and devolves into a pinned CPU with get_frame() attempting an infinitely high frame rate. Which likely just makes things worse not better by starving the encoder of CPU time. I need to go check out the encoder now to make sure it fills frameno gaps.
2020-07-13*: more rmdThreadsSetName() callersVito Caputo
Name the timer and sound capture threads as well, and fixup the rmd{Encode,Cache}Sounds names -> rmd{Encode,Cache}Sound
2020-07-12flush_to_ogg: use enum for audio_or_videoVito Caputo
Nothing changed, just syntactic sugar to make this more readable
2020-07-12*: standardize sleeps on nanosleep()Vito Caputo
usleep() is deprecated by posix in favor of nanosleep(), nanosleep doesn't dick with signals so it's generally better anyways.
2020-07-12get_frame: insert brief sleep when pausedVito Caputo
rmdGetFrame() can't just block on pause_cond because it services the event loop, which may be the very thing responsible for unpausing when not triggered by an external signal. The existing code handles this correctly but it spins on polling the paused flag and running the event loop when paused. This commit just adds a short delay to that cycle so the rmdGetFrame thread doesn't pointlessly burn CPU while paused.
2020-07-12threads: introduce and use rmdThreadsSetName()Vito Caputo
Now users can easily differentiate which rmd subtasks are busy by using top-like tools in show-threads mode. Also aids in troubleshooting...
2020-07-11*: drop {gtk,qt}-recordmydesktop subdirsVito Caputo
This restores the recordmydesktop/ subdir as root from the mirror I cloned by fork from. I have no particular interest in the gtk/qt frontends and it doesn't appear they were part of a single tree in the past. But I will probably preserve backwards compatibility of the cli so they can continue to work with this fork installed.
© All Rights Reserved