aboutsummaryrefslogtreecommitdiffhomepage
path: root/meson.build
AgeCommit message (Collapse)Author
5 days6.0.1dec05eba
5 daysEnable ffmpeg_static by default in release builds to support gtx 1080 and ↵dec05eba
older nvidia gpus
5 daysnvenc query check ffmpeg nvenc version as welldec05eba
2026-08-086.0.0dec05eba
2026-08-05Add option to statically compile ffmpeg from sourcedec05eba
2026-08-02Fix build because of c versiondec05eba
2026-08-02Set c standard to c11dec05eba
2026-08-02Move gsr-cli to tools/gsr-clidec05eba
2026-08-02Add gsr-cli program that sends ipc commands to gpu-screen-recorderdec05eba
gsr-cli sends a command to the ipc socket of a running GPU Screen Recorder and exits with 0 when it replied with ok, printing the reason to stderr when it didn't, which means the commands don't have to be sent blindly like signals are. The status command checks if GPU Screen Recorder is running by connecting to the socket without sending a command, so it's also correct when a killed instance left the socket behind. The json helpers moved into src/json.c to be shared between the two programs.
2026-08-02Add -ipc option to control gpu-screen-recorder over a unix domain socketdec05eba
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.
2026-08-01Rewrite main.cpp in C as a thin CLI on top of a new gsr_recorder library APIdec05eba
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.
2026-08-01Move screenshot capture and CLI commands from main.cpp into separate modulesdec05eba
The list commands return exit codes through args_parser instead of exiting.
2026-08-01Move muxing and replay saving from main.cpp into muxer and replay_save modulesdec05eba
Replay saving uses a pthread with an owning result struct instead of std::future and a global output filepath.
2026-08-01Move audio capture from main.cpp into audio_capture module and replace ↵dec05eba
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.
2026-08-01Move audio input parsing and validation from main.cpp into audio_input moduledec05eba
2026-08-01Move capture source parsing and capture creation from main.cpp into C modulesdec05eba
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.
2026-08-01Move windowing setup from main.cpp into windowing moduledec05eba
The recording path and the list commands now share the same windowing setup code instead of duplicating it.
2026-08-01Move video/audio codec selection from main.cpp into codec_select moduledec05eba
Codec selection returns gsr_error values instead of exiting, and takes gsr_recorder_settings instead of the argument parser.
2026-08-01Move audio/video codec setup from main.cpp into C modulesdec05eba
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.
2026-08-01Rewrite sound.cpp in C as sound.cdec05eba
2026-08-01Add gsr_log logging module with log level and overridable log handlerdec05eba
2026-07-265.15.3dec05eba
2026-07-215.15.2dec05eba
2026-07-155.15.1dec05eba
2026-07-145.15.0dec05eba
2026-07-14kms capture: make capture work with night lights enableddec05eba
2026-07-04c++17dec05eba
2026-07-045.14.1dec05eba
2026-07-035.14.0dec05eba
2026-06-025.13.9dec05eba
2026-06-02Wayland socket: bypass flatpak sandboxdec05eba
2026-05-19Remove vulkan dependency from meson (only headers are used)dec05eba
2026-05-165.13.8dec05eba
2026-05-165.13.7dec05eba
2026-05-125.13.6dec05eba
2026-05-095.13.5dec05eba
2026-05-025.13.4dec05eba
2026-05-02Remove deprecated overclocking optiondec05eba
2026-04-235.13.3dec05eba
2026-04-225.13.2dec05eba
2026-04-195.13.1dec05eba
2026-04-175.13.0dec05eba
2026-04-17v4l2: skip resolutions that we cant import with eglCreateImage for yuyvdec05eba
2026-03-025.12.5dec05eba
2026-02-125.12.4dec05eba
2026-01-285.12.3dec05eba
2026-01-25Install example scripts and add fix man exampleMroik
2026-01-235.12.2dec05eba
2026-01-205.12.1dec05eba
2026-01-185.12.0dec05eba