summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-12*: bump to 0.4.10.4.1Vito Caputo
Quick minor release primarily for the paused CPU burning fix
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*: bump to 0.4.00.4.0Vito Caputo
Formally making first release since forking, I'm sure there are bugs but I doubt anyone will be inclined to help test any of this if there's nothing at least stating it's a newer version and some mention of the user-visible changes.
2020-07-11*: update AUTHORS and READMEVito Caputo
Just some quick modifications to reflect the forked status
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.
2020-07-11*: get libjack synchronization on the same pageVito Caputo
This isn't tested as I don't currently have a JACK setup, but it at least compiles and looks semi sane.
2020-07-11*: more formatting cleanupsVito Caputo
Nothing functionally changed
2020-07-11encode_sound_buffer: more formatting cleanupsVito Caputo
Nothing functionally changed
2020-07-11shortcuts: formatting cleanupsVito Caputo
Nothing significant changed
2020-07-11TODO: add entries for ogv playback/decode errorsVito Caputo
This may just be ffmpeg ogg decoding bugs, but it requires investigation to confirm. The playback does show corruption in mpv/vlc in my testing, but that problem existed pre-fork as well.
2020-07-11setbrwindow: formatting cleanupsVito Caputo
Nothing significant changed
2020-07-11*: no more enc_data->[xy]_offsetVito Caputo
With no rrect alignment adjustment happening, there's no need for this fuckery anymore. The theora encoding offsets will always be left at 0, the frame_{width, height} will clip to rrect.{width,height}, and the yuv buffer dimensions are the only thing 16x16 aligned.
2020-07-11setbrwindow: stop adjusting rrect for alignmentVito Caputo
rrect of any size/place should be perfectly usable now
2020-07-11*: more unfucking synchronizationVito Caputo
2020-07-11get_frame: more unfucking synchronizatoinVito Caputo
2020-07-11get_frame: s/blocknum_[xy]/blocks_[wh]/Vito Caputo
Minor cleanup
2020-07-11make_dummy_pointer: more formatting cleanupsVito Caputo
Nothing functionally changed
2020-07-11rescue: more formatting cleanupsVito Caputo
nothing functionally changed
2020-07-11cache: more formatting cleanupsVito Caputo
nothing functional changed
2020-07-11initialize_data: more formatting cleanupsVito Caputo
Nothing functionally changed
2020-07-11rectinsert: stop aligning rects on insert hereVito Caputo
Assume rects that come in for insertion are already as aligned as possible within the rrect bounds. If the rrect has odd dimensions, then there's potential for edge case odd rects too - but the only even-sensitive code is the YUV updating and that's been amended to at least ignore those edge cases gracefully. Also constify the supplied xrect while in here.
2020-07-11poll_events: align rectangles to even boundariesVito Caputo
The current rectinsert code does this, but it does it in the absolute root window coordinate space. In preparation for dropping all the alignment stuff out of rectinsert, do the alignment at the rectinsert caller and do it in the rrect-relative coordinate space.
2020-07-11get_frame: consolidate [yuv]blocks reset as a funcVito Caputo
Eliminate some pointless duplication
2020-07-11update_image: add some asserts on clipped rectVito Caputo
Just some sanity checks to ensure clipping is working properly
2020-07-11capture_sound: simplify locking and buffer acquisitionVito Caputo
More tidying of things
2020-07-11get_frame: perform shmctl(IPC_RMID) after shmat()Vito Caputo
No need to duplicate this down at the teardown, it won't go away with outstanding references so you can basically queue the rm.
2020-07-11*: introduce Image typeVito Caputo
Baby step towards encapsulating the shmem and ximage state
2020-07-11cache_frame: calculate size from yuv dimensionsVito Caputo
More preparation for yuv and rrect dimensions differing
2020-07-11*: more random minor cleanupsVito Caputo
Nothing significant
2020-07-11*: more random cleanupsVito Caputo
minor formatting/whitespace changes
2020-07-11yuv_utils: shrink [yuv]blocks to unsigned char[]Vito Caputo
No idea why this had such a large type, its members just hold 0 or 1.
2020-07-11yuv_utils: gracefully ignore odd pixels for UVVito Caputo
This is temporary, in preparation for potentially odd-dimensioned image buffers. For now I'll just skip the last row / column in the UV update for such odd dimensions. In the future there could be a read-modify-write dance for handling the last row/column or something like that.
2020-07-11yuv_utils: fixup dirty blocknum() parametersVito Caputo
This needs to maintain dirty blocks in the yuv frame coordinates, not in the captured image's cooridinates. The existing code assumes those are the same in double-buffer mode where the dirty block tracking is applied. But I'm working towards allowing the captured image dimensions to be free from the 16x16 alignment constraints the yuv buffers must conform to for theora. To handle that future, the block coordinates should at least use the (yuv)->y_width, not width_tm. I also added shifting the x,y but in double-buffer mode that shouldn't actually be needed since it'd always be full-shots unless I'm mistaken.
2020-07-11yuv_utils: more cleanups focusing on the macrosVito Caputo
Nothing really changed here, just rearranging some stuff and replacing some divides with shifts.
2020-07-11getzpixmap: remove pointless _XReadPad()Vito Caputo
No idea why rmdGetZPixmapSHM() is doing this, the whole point of shmem is to not have to read the data over the wire. You request the server to do the copy into the shared memory and that's all there is to it. This program is so confused
2020-07-11get_frame: replace XCreateImage++ w/XGetImageVito Caputo
Remove more pointless code
2020-07-11get_frame: remove pointless XInitImage()Vito Caputo
XCreateImage() returns a fully initialized ready-to-use XImage, I have no idea why the author did this.
2020-07-11*: more small whitespace fixupsVito Caputo
nothing functionally changed
2020-07-11get_frame: more cleanupsVito Caputo
nothing functionally changed
2020-07-11*: more random formatting cleanupsVito Caputo
nothing functionally different
2020-07-11TODO: replace useless TODO contents with --unmuteVito Caputo
2020-07-11load_cache: more formatting cleanupsVito Caputo
nothing functionally changed
2020-07-11cache_frame: more formatting cleanupsVito Caputo
Mostly mindless whitespace fixups but also changed some yuvblocks indexing that seemed brain damaged to just be simpler without actually changing anything functionally
2020-07-11parseargs: fix obvious typo in long form of -yVito Caputo
This explains why I've seen errors using --long arguments consistently even for --x and --y. I had assumed --x and --y weren't supported but it turns out it's just what looks to be a copy and paste error. Man this source has been such a disaster area.
2020-07-11*: more random cleanups mostly formattingVito Caputo
nothing functionally different
2020-07-11getzpixmap: more formatting cleanupsVito Caputo
2020-07-11get_frame: de-macroify CLIPPY_DUMMY_POINTER_AREAVito Caputo
Zero reason for this to be an unreadable macro, make function and try format sanely I didn't really change it other than passing the clip rect instead of brwin
2020-07-11get_frame: demacroify MARK_BUFFER_AREAVito Caputo
Convert macro to function and format retained macro portion
© All Rights Reserved