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