RepoPilot

genymobile / scrcpy

Search genymobile/scrcpy

GitHub

Code

How genymobile/scrcpy is laid out, and where to start for common changes.

There is no import map for this report yet.

Where to start reading

  1. Repository root
  2. Likely start-up file
  3. Suggested starting pointAI
  4. Suggested starting pointAI
  5. Suggested starting pointAI
  6. Suggested starting pointAI
  7. Suggested starting pointAI
  8. Suggested starting pointAI

Find files for a task

AI

Add support for a new input device (HID)

  • Register the new HID handler in input_manager.c where other handlers are initialized
  • Add control message type to control_msg.h and serialization in control_msg.c if needed

Add a new hardware video decoder (GPU interop)

  • Register the backend in interop.c in the backend selection logic
  • Update hwdec.c to recognize and select the new decoder type

Add a new command-line option

  • Define the option in the options structure in options.h
  • Add parsing logic in cli.c to capture the option from command-line arguments
  • Use the option value in scrcpy.c or relevant subsystem initialization code

Add support for a new platform (Linux/Windows/macOS)

  • Update meson.build with platform-specific build flags and library selections
  • Add platform detection and compatibility shims in compat.c and compat.h
  • Implement platform-specific mouse/keyboard capture if needed in mouse_capture.c

Trace runtime behavior

Add or update tests

Change build or automation

RepoPilot lists up to 500 files, so a file missing here may still exist.

  • Files marked “likely” are guessed from their names.

Code quality and hotspots

Largest source files

  • Branch points147 per file on average
  • Code issues0 errors, 5 warnings
  • Largest file3,674 lines
  • Hotspot load7 high-risk files

Static checks on the 15 largest source files.

Tests, CI and tooling

  • CIGitHub Actions1 workflow
  • Tests19 test filesJUnit · 0.07 test files per source file (file count, not coverage)
  • Dependency updatesNo config detected

Test folders: app/tests · server/src/test/java/com/genymobile/scrcpy/util · server/src/test/java/com/genymobile/scrcpy/control

Hotspots

Files that change often and branch heavily, highest first. Branch points count if, loop, case, catch, ternary, && and || in the file.