mirror of
https://github.com/ossrs/srs.git
synced 2025-11-24 11:54:21 +08:00
2.3 KiB
2.3 KiB
Contributor Guide
This is the guide for the OpenAI Codex agent.
General repository layout
- Source code:
trunk/src/contains the major C++ code for the SRS server.trunk/src/coreand trunk/src/kernel contain the common definitions.trunk/src/protocolcontains the media streaming protocol implementations.trunk/src/appcontains the application-level implementations.trunk/src/maincontains the main entry points for the programs.proxy/contains the proxy server in Go for RTMP/SRT/WebRTC proxying.trunk/src/core/srs_core_autofree.hppdefines the smart pointer; you should review it before fixing memory issues.
- Configuration:
trunk/conf/full.confcontains all supported configurations.trunk/src/app/srs_app_config.cppparses and checks the configuration file.trunk/conf/*.confcontains other example configuration files.
- Tests:
trunk/src/utestcontains the unit tests using gtest.trunk/3rdparty/srs-benchis the integration test tool for blackbox tests.
- Third-party dependencies:
trunk/3rdpartycontains the dependency libraries. You may refer to these codes, but never attempt to change or update.trunk/3rdparty/st-srsis the coroutine library (state-threads).trunk/3rdparty/gtest-fitis the gtest framework used for unit tests.trunk/3rdparty/ffmpeg-4-fitis the codec library for transcoding audio streams such as AAC with Opus.trunk/3rdparty/openssl-1.1-fitis used for RTMP handshake and WebRTC DTLS handshake.trunk/3rdparty/libsrtp-2-fitis used for SRTP in WebRTC.trunk/3rdparty/srt-1-fitis the SRT implementation.
- Documentation:
README.mdis a brief introduction to this project.trunk/doc/CHANGELOG.mdcontains the changelog history.trunk/doc/Dockers.mdis the guide for building Docker images.
- Build:
trunk/configureis the script used to configure the project; after running it, you can use make to build.Dockerfileis the main Docker file for building the image.trunk/Dockerfile.testis used to build the image for testing.trunk/Dockerfile.buildsis used to verify builds on different target platforms.
Testing Instructions
- Run CI tests defined in
.github/workflows/test.ymlfile. - Add or update tests for the code you change, even if nobody asked.