Files
srs/.vscode/README.md
Haibo Chen(陈海博) 33b0a0fe7d Fix error about TestRtcPublish_HttpFlvPlay. v7.0.36 (#4363)
In the scenario of converting WebRTC to RTMP, this conversion will not
proceed until an SenderReport is received; for reference, see:
https://github.com/ossrs/srs/pull/2470.
Thus, if HTTP-FLV streaming is attempted before the SR is received, the
FLV Header will contain only audio, devoid of video content.
This error can be resolved by disabling `guess_has_av` in the
configuration file, since we can guarantee that both audio and video are
present in the test cases.

However, in the original regression tests, the
`TestRtcPublish_HttpFlvPlay` test case contains a bug:

5a404c089b/trunk/3rdparty/srs-bench/srs/rtc_test.go (L2421-L2424)

The test would pass when `hasAudio` is true and `hasVideo` is false,
which is actually incorrect. Therefore, it has been revised so that the
test now only passes if both values are true.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: winlin <winlinvip@gmail.com>
2025-05-29 14:07:56 -04:00

2.9 KiB

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/ide/srs_clion -B $HOME/git/srs/trunk/ide/vscode-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/ide/srs_clion/CMakeLists.txt and $HOME/git/srs/trunk/ide/vscode-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/ide/vscode-build

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

macOS: SRS UTest

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/ide/srs_clion -B $HOME/git/srs/trunk/ide/vscode-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/ide/vscode-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.