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>
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
xcodeinstalled, and runxcode-select --installto setup the toolchains.
Note: The
settings.jsonis used to configure the cmake. It will use$HOME/git/srs/trunk/ide/srs_clion/CMakeLists.txtand$HOME/git/srs/trunk/ide/vscode-buildas 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.jsonis 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.jsonis used for running and debugging.