scrcpy/app/src
Romain Vimont 07f056353b Use common sc_screen for normal and OTG modes
Originally, the default scrcpy window always displayed the video stream.
Since the OTG mode window only contains the scrcpy logo, it was
implemented as a separate component [1].

Later, the --no-video option was added [2] to control the device without
mirroring (while still using an adb connection, unlike OTG mode). To
support this, sc_screen gained the ability to display a window
containing only the scrcpy logo, like in OTG mode.

As a result, the main sc_screen component can now be reused in OTG mode,
allowing removal of the OTG-specific duplicate implementation
(sc_screen_otg).

[1] commit 91418c79ab
[2] commit 8c650e53cd

Refs #2974 <https://github.com/Genymobile/scrcpy/pull/2974>
Refs #3978 <https://github.com/Genymobile/scrcpy/pull/3978>
PR #6649 <https://github.com/Genymobile/scrcpy/pull/6649>
2026-02-04 20:15:31 +01:00
..
adb Replace __WINDOWS__ by _WIN32 2025-07-17 18:23:25 +02:00
android Fix typos 2024-08-05 16:13:02 +02:00
hid Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
sys Cleanup includes 2024-12-23 12:19:47 +01:00
trait Add session metadata for the video stream 2026-01-10 11:53:22 +01:00
uhid Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
usb Use common sc_screen for normal and OTG modes 2026-02-04 20:15:31 +01:00
util Disable "resize to pixel-perfect" when maximized 2026-01-08 20:40:51 +01:00
audio_player.c Do not attempt to increase audio thread priority 2026-01-17 21:30:19 +01:00
audio_player.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
audio_regulator.c Handle audio stream discontinuities 2025-03-29 14:54:35 +01:00
audio_regulator.h Handle audio stream discontinuities 2025-03-29 14:54:35 +01:00
cli.c Add shortcuts to change the camera zoom 2026-01-13 20:40:58 +01:00
cli.h Simplify shortcut modifiers 2024-06-23 19:15:45 +02:00
clock.c Improve delay buffer startup 2024-09-12 11:06:13 +02:00
clock.h Simplify clock estimation 2023-03-30 20:58:33 +02:00
common.h Fix MIN/MAX macros 2023-03-03 01:18:10 +01:00
compat.c Add compat for reallocarray() 2023-03-10 22:22:15 +01:00
compat.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
control_msg.c Add shortcuts to change the camera zoom 2026-01-13 20:40:58 +01:00
control_msg.h Add shortcuts to change the camera zoom 2026-01-13 20:40:58 +01:00
controller.c Introduce non-droppable control messages 2024-09-15 11:21:56 +02:00
controller.h Do not report error on device disconnected 2024-07-06 00:04:07 +02:00
coords.h Use sc_ prefix for size, position and point 2021-10-30 15:20:39 +02:00
decoder.c Detect frame size mismatch in decoder 2026-01-10 11:53:22 +01:00
decoder.h Detect frame size mismatch in decoder 2026-01-10 11:53:22 +01:00
delay_buffer.c Properly handle session packets in delay_buffer 2026-01-10 11:53:22 +01:00
delay_buffer.h Properly handle session packets in delay_buffer 2026-01-10 11:53:22 +01:00
demuxer.c Add session metadata for the video stream 2026-01-10 11:53:22 +01:00
demuxer.h Cleanup includes 2024-12-23 12:19:47 +01:00
device_msg.c Fix UHID_OUTPUT message parsing 2025-10-09 09:35:14 +02:00
device_msg.h Cleanup includes 2024-12-23 12:19:47 +01:00
display.c Fix segfault with --no-video 2026-01-09 19:06:08 +01:00
display.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
events.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
events.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
file_pusher.c Cleanup includes 2024-12-23 12:19:47 +01:00
file_pusher.h Use VecDeque in file_pusher 2023-03-10 22:22:15 +01:00
fps_counter.c Cleanup includes 2024-12-23 12:19:47 +01:00
fps_counter.h Cleanup includes 2024-12-23 12:19:47 +01:00
frame_buffer.c Cleanup includes 2024-12-23 12:19:47 +01:00
frame_buffer.h Cleanup includes 2024-12-23 12:19:47 +01:00
icon.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
icon.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
input_events.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
input_manager.c Use common sc_screen for normal and OTG modes 2026-02-04 20:15:31 +01:00
input_manager.h Enable controls for camera video source 2026-01-13 20:27:33 +01:00
keyboard_sdk.c Cleanup includes 2024-12-23 12:19:47 +01:00
keyboard_sdk.h Rename default keyboard implementation to "sdk" 2024-03-01 00:51:41 +01:00
main.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
mouse_capture.c Remove obsolete workaround for macOS 2026-01-08 20:40:51 +01:00
mouse_capture.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
mouse_sdk.c Extend value range for SDK mouse scrolling 2025-06-20 19:54:16 +02:00
mouse_sdk.h Cleanup includes 2024-12-23 12:19:47 +01:00
opengl.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
opengl.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
options.c Add option to specify the camera zoom 2026-01-13 20:37:42 +01:00
options.h Add option to specify the camera zoom 2026-01-13 20:37:42 +01:00
packet_merger.c Cleanup includes 2024-12-23 12:19:47 +01:00
packet_merger.h Cleanup includes 2024-12-23 12:19:47 +01:00
receiver.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
receiver.h Do not report error on device disconnected 2024-07-06 00:04:07 +02:00
recorder.c Add session metadata for the video stream 2026-01-10 11:53:22 +01:00
recorder.h Cleanup includes 2024-12-23 12:19:47 +01:00
scrcpy.c Fix file drop handling with --no-video 2026-02-02 22:40:23 +01:00
scrcpy.h Cleanup includes 2024-12-23 12:19:47 +01:00
screen.c Enable controls for camera video source 2026-01-13 20:27:33 +01:00
screen.h Enable controls for camera video source 2026-01-13 20:27:33 +01:00
server.c Add option to specify the camera zoom 2026-01-13 20:37:42 +01:00
server.h Add option to specify the camera zoom 2026-01-13 20:37:42 +01:00
shortcut_mod.h Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
v4l2_sink.c Add session metadata for the video stream 2026-01-10 11:53:22 +01:00
v4l2_sink.h Cleanup includes 2024-12-23 12:19:47 +01:00
version.c Migrate from SDL2 to SDL3 2026-01-06 16:22:48 +01:00
version.h Move version handling to a separate file 2022-02-09 10:15:07 +01:00