srs/.vscode
Winlin ebf8b712c9 Proxy: restructure repo as Go project with proxy as first module (#4652)
Reorganize the SRS (Simple Realtime Server) repository to
follow a conventional Go project structure, setting the stage for a
progressive transition from a C++ project to a Go project. The proxy,
which was once contained within its own `proxy/` subdirectory, will now
be converted into the initial Go module located at the root of the
repository, serving as a template for subsequent Go modules.

- **Go module at repo root:** `go.mod` moved to repo root, module
renamed from `proxy` to `srsx`. The repo is now a proper Go project with
`cmd/` and `internal/` at the top level.
- **Elevation of Proxy Code:** Move the proxy code from
`proxy/cmd/proxy-go/` to `cmd/proxy/`, and from `proxy/internal/` to
`internal/`. The proxy serves as the inaugural application; subsequent
modules (for instance, `cmd/origin`) will mimic this arrangement.
- **Documentation Restructured:** Transfer the documentation from
`proxy/docs/` to `docs/proxy/`, revise the main README to endorse
OpenClaw as the preferred AI tool, and update `proxy/README.md` to point
to the new documentation locations.
- **Build and config:** `Makefile` moved to root, `PROXY_STATIC_FILES`
default path corrected for the new layout, `.gitignore` consolidated.
- **Cleanup:** removed standalone `proxy/LICENSE` (repo-level license
applies), all internal imports updated to `srsx/internal/...`.
- **OpenClaw workspace:** added community bot info, git workflow
conventions, and support group behavior guidance.

This restructuring was performed by OpenClaw orchestrating Claude Code
and Codex via ACP.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: chatgpt-codex-connector[bot] <199175422+chatgpt-codex-connector[bot]@users.noreply.github.com>
2026-03-22 08:11:28 -04:00
..
launch.json Proxy: restructure repo as Go project with proxy as first module (#4652) 2026-03-22 08:11:28 -04:00
README.md AI: WebRTC: Support optional msid attribute per RFC 8830. v7.0.126 (#4570) (#4572) 2025-11-11 10:22:31 -05:00
settings.json OpenClaw: add and refine ST knowledge-base and learning/review skills (#4643) 2026-03-05 09:57:08 -05:00
tasks.json OpenClaw: add and refine ST knowledge-base and learning/review skills (#4643) 2026-03-05 09:57:08 -05:00

Debug with VSCode

Support run and debug with VSCode.

macOS: SRS Server

Install the following extensions:

  • CMake Tools
  • CodeLLDB
  • C/C++ Extension Pack

Open the folder like $HOME/git/srs in VSCode, after you clone srs to $HOME/git/srs directory.

Run commmand to configure the project by pressing Command+Shift+P, then type CMake: Configure then select Clang as the toolchain. Or run the command manually in terminal:

cmake -S $HOME/git/srs/trunk/cmake -B $HOME/git/srs/trunk/cmake/build

Note: Sometimes it may fail to configure when building libsrtp. Just retry, and it will succeed.

Note: Make sure you have xcode installed, and run xcode-select --install to setup the toolchains.

Note: The settings.json is used to configure the cmake. It will use $HOME/git/srs/trunk/cmake/CMakeLists.txt and $HOME/git/srs/trunk/cmake/build as the source file and build directory.

Click the Run > Run Without Debugging or Run > Start Debugging from menu to start or debug the server. It will invoke the build task defined in tasks.json, or you can run it manually:

cmake --build $HOME/git/srs/trunk/cmake/build

Note: The launch.json is used for running and debugging. The build will output the binary to $HOME/git/srs/trunk/cmake/build/srs.

macOS: SRS UTest

The most straightforward way is to select a test name like WorkflowRtcManuallyVerifyForPublisher, then select Debug gtest (macOS CodeLLDB) and run the debug.

Or you can use the following way to run specified test from the test panel.

Install the following extensions:

  • C++ TestMate

Open the folder like $HOME/git/srs in VSCode, after you clone srs to $HOME/git/srs directory.

Run commmand to configure the project by pressing Command+Shift+P, then type CMake: Configure then select Clang as the toolchain. Or run the command manually in terminal:

cmake -S $HOME/git/srs/trunk/cmake -B $HOME/git/srs/trunk/cmake/build

Note: Sometimes it may fail to configure when building libsrtp. Just retry, and it will succeed.

Afterwards, build the utest by pressing Command+Shift+P, then type CMake: Build to run the build command. It will invoke the build task defined in tasks.json, or you can run it manually:

cmake --build $HOME/git/srs/trunk/cmake/build

Then you will discover all the unit testcases from the View > Testing panel. You can open utest source file like trunk/src/utest/srs_utest.cpp, then click the Run Test or Debug Test on each testcase such as FastSampleInt64Test.

macOS: SRS Regression Test

Follow the srs-bench to setup the environment.

Open the test panel by clicking View > Testing, run the regression tests under:

+ Go
  + github.com/ossrs/srs-bench
    + blackbox
    + gb28181
    + srs

macOS: Proxy

Install the following extensions:

  • Go

Open the folder like ~/git/srs in VSCode.

Click the View > Run and select Launch srs-proxy to start the proxy server.

Click the Run > Run Without Debugging button to start the server.

Note: The launch.json is used for running and debugging.