| Age | Commit message (Collapse) | Author |
|
capture thread"
This reverts commit 5db30f3fb99545524fc80f87ecc488972aec1711.
|
|
|
|
|
|
|
|
|
|
The socket accepts the same commands as the signal handlers, except that
saving a replay takes an arbitrary number of seconds instead of only the
fixed times that the signals provide. Requests and replies are newline
terminated json objects and every request is replied to, parsed with the
sj.h json library that was added to external.
Requests are handled on a thread that only runs while the recorder
exists, so the recorder control fields are now atomics, which they have
to be now that another thread writes them.
|
|
|
|
The recorder, screenshot and cli now free everything they create, also
when setup fails. Adds gsr_windowing_deinit, implements the missing
gsr_window_destroy and destroys the pipewire registry proxy.
|
|
The recording setup, record loop and teardown moved into a gsr_recorder
pseudo class that reports saved recordings through callbacks, so the CLI
only parses arguments, handles signals and prints results.
The project is now built as pure C.
|
|
The list commands return exit codes through args_parser instead of exiting.
|
|
Replay saving uses a pthread with an owning result struct instead of
std::future and a global output filepath.
|
|
std::thread with pthread
Audio device and mix threads are now pthreads with explicit context structs,
and the paused time tracking moved into a gsr_recording_clock.
|
|
|
|
Capture sources are C structs with fixed size names and a growable array,
and the lazily initialized kms client, night light and cursor globals are
now owned by gsr_capture_deps.
|
|
The recording path and the list commands now share the same windowing
setup code instead of duplicating it.
|
|
Codec selection returns gsr_error values instead of exiting, and takes
gsr_recorder_settings instead of the argument parser.
|
|
Adds gsr_recorder_settings, a library-friendly settings struct embedded in
args_parser, so the new modules don't depend on the argument parser.
The codec functions return errors instead of exiting.
|