<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpu-screen-recorder/src/main.cpp, branch debian</title>
<subtitle>The fastest screen recording tool for Linux
</subtitle>
<id>https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/atom?h=debian</id>
<link rel='self' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/atom?h=debian'/>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/'/>
<updated>2026-08-01T21:22:38Z</updated>
<entry>
<title>Rewrite main.cpp in C as a thin CLI on top of a new gsr_recorder library API</title>
<updated>2026-08-01T21:22:38Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T21:22:38Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=8272e61823e04733123a17a47645e7097eac45c0'/>
<id>urn:sha1:8272e61823e04733123a17a47645e7097eac45c0</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Move screenshot capture and CLI commands from main.cpp into separate modules</title>
<updated>2026-08-01T21:08:48Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T21:08:48Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=9dda64c39d0fdd6409305faff33c217dcf161e60'/>
<id>urn:sha1:9dda64c39d0fdd6409305faff33c217dcf161e60</id>
<content type='text'>
The list commands return exit codes through args_parser instead of exiting.
</content>
</entry>
<entry>
<title>Move muxing and replay saving from main.cpp into muxer and replay_save modules</title>
<updated>2026-08-01T21:02:07Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T21:02:07Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=40b6a13d14680cfacb3cdb59f04224540b80d9e4'/>
<id>urn:sha1:40b6a13d14680cfacb3cdb59f04224540b80d9e4</id>
<content type='text'>
Replay saving uses a pthread with an owning result struct instead of
std::future and a global output filepath.
</content>
</entry>
<entry>
<title>Move audio capture from main.cpp into audio_capture module and replace std::thread with pthread</title>
<updated>2026-08-01T19:49:08Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:49:08Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=bd12a0ede46bbd92510f1cd82b04383e4a9e83c8'/>
<id>urn:sha1:bd12a0ede46bbd92510f1cd82b04383e4a9e83c8</id>
<content type='text'>
Audio device and mix threads are now pthreads with explicit context structs,
and the paused time tracking moved into a gsr_recording_clock.
</content>
</entry>
<entry>
<title>Move audio input parsing and validation from main.cpp into audio_input module</title>
<updated>2026-08-01T19:38:28Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:38:28Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=e91f1c0b75968c576fd5adb1738737cb19dd6094'/>
<id>urn:sha1:e91f1c0b75968c576fd5adb1738737cb19dd6094</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move capture source parsing and capture creation from main.cpp into C modules</title>
<updated>2026-08-01T19:32:06Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:32:06Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=de8954256578e1805fc5b92a0719190de784d3c0'/>
<id>urn:sha1:de8954256578e1805fc5b92a0719190de784d3c0</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Move windowing setup from main.cpp into windowing module</title>
<updated>2026-08-01T19:22:04Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:22:04Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=cdb8493eed42c386919280b17bbd31b713a5ac35'/>
<id>urn:sha1:cdb8493eed42c386919280b17bbd31b713a5ac35</id>
<content type='text'>
The recording path and the list commands now share the same windowing
setup code instead of duplicating it.
</content>
</entry>
<entry>
<title>Move video/audio codec selection from main.cpp into codec_select module</title>
<updated>2026-08-01T19:17:53Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:17:53Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=d02955183135dbc72072492cdfcb35f2387e2c00'/>
<id>urn:sha1:d02955183135dbc72072492cdfcb35f2387e2c00</id>
<content type='text'>
Codec selection returns gsr_error values instead of exiting, and takes
gsr_recorder_settings instead of the argument parser.
</content>
</entry>
<entry>
<title>Move audio/video codec setup from main.cpp into C modules</title>
<updated>2026-08-01T19:14:46Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:14:46Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=e8fca67df16025598f6ca7bcc31cfdcfb79feb7d'/>
<id>urn:sha1:e8fca67df16025598f6ca7bcc31cfdcfb79feb7d</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Rewrite sound.cpp in C as sound.c</title>
<updated>2026-08-01T19:07:12Z</updated>
<author>
<name>dec05eba</name>
<email>dec05eba@protonmail.com</email>
</author>
<published>2026-08-01T19:07:12Z</published>
<link rel='alternate' type='text/html' href='https://sekoohaka.ddns.net/Debian/gpu-screen-recorder/commit/?id=2b47b9926966b6e81ffda188193eb80653c6f14f'/>
<id>urn:sha1:2b47b9926966b6e81ffda188193eb80653c6f14f</id>
<content type='text'>
</content>
</entry>
</feed>
