├── .clang-format ├── .gitignore ├── CMakeLists.txt ├── CMakePresets.json ├── LICENSE ├── README.md ├── rc ├── icon.ico ├── icon.rc └── mute.wav └── src ├── basic ├── basic.cpp ├── basic.h ├── frame.cpp ├── frame.h └── timer.h ├── capturer ├── audio_capturer.cpp ├── audio_capturer.h ├── dxgi_capturer.cpp ├── dxgi_capturer.h ├── finder.cpp ├── finder.h ├── gdi_capturer.cpp ├── gdi_capturer.h ├── video_capturer.cpp ├── video_capturer.h ├── wgc │ ├── App.cpp │ ├── App.h │ ├── SimpleCapture.cpp │ ├── SimpleCapture.h │ ├── capture.interop.h │ ├── composition.interop.h │ ├── d3dHelpers.h │ ├── direct3d11.interop.h │ ├── pch.cpp │ ├── pch.h │ ├── winrt.cpp │ └── winrt.h ├── wgc_capturer.cpp └── wgc_capturer.h ├── d3d ├── buffer_filler.cpp ├── buffer_filler.h ├── convert.cpp ├── convert.h ├── gen_frame.cpp └── gen_frame.h ├── encoder ├── abstract_encoder.cpp ├── abstract_encoder.h ├── audio_encoder.cpp ├── audio_encoder.h ├── audio_mixer.cpp ├── audio_mixer.h ├── video_encoder.cpp └── video_encoder.h ├── main.cpp ├── muxer ├── av_muxer.cpp └── av_muxer.h ├── recorder ├── audio_recorder.cpp ├── audio_recorder.h ├── video_recorder.cpp └── video_recorder.h └── ui ├── audio_render.cpp ├── audio_render.h ├── audio_widget.cpp ├── audio_widget.h ├── av_recorder.cpp ├── av_recorder.h ├── settings_page.cpp ├── settings_page.h ├── video_render.cpp ├── video_render.h ├── video_widget.cpp └── video_widget.h /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/.clang-format -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | .cache 3 | build 4 | debug 5 | *.dll 6 | *.mp4 7 | .vs 8 | out -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CMakePresets.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/CMakePresets.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/README.md -------------------------------------------------------------------------------- /rc/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/rc/icon.ico -------------------------------------------------------------------------------- /rc/icon.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/rc/icon.rc -------------------------------------------------------------------------------- /rc/mute.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/rc/mute.wav -------------------------------------------------------------------------------- /src/basic/basic.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/basic/basic.cpp -------------------------------------------------------------------------------- /src/basic/basic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/basic/basic.h -------------------------------------------------------------------------------- /src/basic/frame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/basic/frame.cpp -------------------------------------------------------------------------------- /src/basic/frame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/basic/frame.h -------------------------------------------------------------------------------- /src/basic/timer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/basic/timer.h -------------------------------------------------------------------------------- /src/capturer/audio_capturer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/audio_capturer.cpp -------------------------------------------------------------------------------- /src/capturer/audio_capturer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/audio_capturer.h -------------------------------------------------------------------------------- /src/capturer/dxgi_capturer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/dxgi_capturer.cpp -------------------------------------------------------------------------------- /src/capturer/dxgi_capturer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/dxgi_capturer.h -------------------------------------------------------------------------------- /src/capturer/finder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/finder.cpp -------------------------------------------------------------------------------- /src/capturer/finder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/finder.h -------------------------------------------------------------------------------- /src/capturer/gdi_capturer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/gdi_capturer.cpp -------------------------------------------------------------------------------- /src/capturer/gdi_capturer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/gdi_capturer.h -------------------------------------------------------------------------------- /src/capturer/video_capturer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/video_capturer.cpp -------------------------------------------------------------------------------- /src/capturer/video_capturer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/video_capturer.h -------------------------------------------------------------------------------- /src/capturer/wgc/App.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/App.cpp -------------------------------------------------------------------------------- /src/capturer/wgc/App.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/App.h -------------------------------------------------------------------------------- /src/capturer/wgc/SimpleCapture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/SimpleCapture.cpp -------------------------------------------------------------------------------- /src/capturer/wgc/SimpleCapture.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/SimpleCapture.h -------------------------------------------------------------------------------- /src/capturer/wgc/capture.interop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/capture.interop.h -------------------------------------------------------------------------------- /src/capturer/wgc/composition.interop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/composition.interop.h -------------------------------------------------------------------------------- /src/capturer/wgc/d3dHelpers.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/d3dHelpers.h -------------------------------------------------------------------------------- /src/capturer/wgc/direct3d11.interop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/direct3d11.interop.h -------------------------------------------------------------------------------- /src/capturer/wgc/pch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/pch.cpp -------------------------------------------------------------------------------- /src/capturer/wgc/pch.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/pch.h -------------------------------------------------------------------------------- /src/capturer/wgc/winrt.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/winrt.cpp -------------------------------------------------------------------------------- /src/capturer/wgc/winrt.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc/winrt.h -------------------------------------------------------------------------------- /src/capturer/wgc_capturer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc_capturer.cpp -------------------------------------------------------------------------------- /src/capturer/wgc_capturer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/capturer/wgc_capturer.h -------------------------------------------------------------------------------- /src/d3d/buffer_filler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/buffer_filler.cpp -------------------------------------------------------------------------------- /src/d3d/buffer_filler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/buffer_filler.h -------------------------------------------------------------------------------- /src/d3d/convert.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/convert.cpp -------------------------------------------------------------------------------- /src/d3d/convert.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/convert.h -------------------------------------------------------------------------------- /src/d3d/gen_frame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/gen_frame.cpp -------------------------------------------------------------------------------- /src/d3d/gen_frame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/d3d/gen_frame.h -------------------------------------------------------------------------------- /src/encoder/abstract_encoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/abstract_encoder.cpp -------------------------------------------------------------------------------- /src/encoder/abstract_encoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/abstract_encoder.h -------------------------------------------------------------------------------- /src/encoder/audio_encoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/audio_encoder.cpp -------------------------------------------------------------------------------- /src/encoder/audio_encoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/audio_encoder.h -------------------------------------------------------------------------------- /src/encoder/audio_mixer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/audio_mixer.cpp -------------------------------------------------------------------------------- /src/encoder/audio_mixer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/audio_mixer.h -------------------------------------------------------------------------------- /src/encoder/video_encoder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/video_encoder.cpp -------------------------------------------------------------------------------- /src/encoder/video_encoder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/encoder/video_encoder.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/muxer/av_muxer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/muxer/av_muxer.cpp -------------------------------------------------------------------------------- /src/muxer/av_muxer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/muxer/av_muxer.h -------------------------------------------------------------------------------- /src/recorder/audio_recorder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/recorder/audio_recorder.cpp -------------------------------------------------------------------------------- /src/recorder/audio_recorder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/recorder/audio_recorder.h -------------------------------------------------------------------------------- /src/recorder/video_recorder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/recorder/video_recorder.cpp -------------------------------------------------------------------------------- /src/recorder/video_recorder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/recorder/video_recorder.h -------------------------------------------------------------------------------- /src/ui/audio_render.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/audio_render.cpp -------------------------------------------------------------------------------- /src/ui/audio_render.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/audio_render.h -------------------------------------------------------------------------------- /src/ui/audio_widget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/audio_widget.cpp -------------------------------------------------------------------------------- /src/ui/audio_widget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/audio_widget.h -------------------------------------------------------------------------------- /src/ui/av_recorder.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/av_recorder.cpp -------------------------------------------------------------------------------- /src/ui/av_recorder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/av_recorder.h -------------------------------------------------------------------------------- /src/ui/settings_page.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/settings_page.cpp -------------------------------------------------------------------------------- /src/ui/settings_page.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/settings_page.h -------------------------------------------------------------------------------- /src/ui/video_render.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/video_render.cpp -------------------------------------------------------------------------------- /src/ui/video_render.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/video_render.h -------------------------------------------------------------------------------- /src/ui/video_widget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/video_widget.cpp -------------------------------------------------------------------------------- /src/ui/video_widget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vector-wlc/AvRecorder/HEAD/src/ui/video_widget.h --------------------------------------------------------------------------------