|
| 1 | +# Contributor Guide |
| 2 | + |
| 3 | +This is the guide for the OpenAI Codex agent. |
| 4 | + |
| 5 | +## General repository layout |
| 6 | +- Source code: trunk/src/ contains the C++ code for the SRS server. |
| 7 | + - trunk/src/core and trunk/src/kernel contain the common definitions. |
| 8 | + - trunk/src/protocol contains the media streaming protocol implementations. |
| 9 | + - trunk/src/app contains the application-level implementations. |
| 10 | + - trunk/src/main contains the main entry points for the programs. |
| 11 | +- Source code: proxy/ contains the proxy server in Go for RTMP/SRT/WebRTC proxying. |
| 12 | +- Configuration: |
| 13 | + - trunk/conf/full.conf contains all supported configurations. |
| 14 | + - trunk/src/app/srs_app_config.cpp parses and checks the configuration file. |
| 15 | + - trunk/conf/*.conf contains other example configuration files. |
| 16 | +- UTests: trunk/src/utest contains the unit tests using gtest. |
| 17 | +- Third-party dependencies: trunk/3rdparty contains the dependency libraries. You may refer to these codes, but never attempt to change or update them. |
| 18 | + - trunk/3rdparty/st-srs is the coroutine library (state-threads). |
| 19 | + - trunk/3rdparty/srs-bench is the integration test tool for blackbox tests. |
| 20 | + - trunk/3rdparty/gtest-fit is the gtest framework used for unit tests. |
| 21 | + - trunk/3rdparty/ffmpeg-4-fit is the codec library for transcoding audio streams such as AAC with Opus. |
| 22 | + - trunk/3rdparty/openssl-1.1-fit is used for RTMP handshake and WebRTC DTLS handshake. |
| 23 | + - trunk/3rdparty/libsrtp-2-fit is used for SRTP in WebRTC. |
| 24 | + - trunk/3rdparty/srt-1-fit is the SRT implementation. |
| 25 | +- Documentation: |
| 26 | + - README.md is a brief introduction to this project. |
| 27 | + - trunk/doc/CHANGELOG.md contains the changelog history. |
| 28 | + |
| 29 | +## Testing Instructions |
| 30 | +- Run CI tests defined in .github/workflows/test.yml file. |
| 31 | +- Add or update tests for the code you change, even if nobody asked. |
0 commit comments