Thank you for your interest in contributing to srtgo!
Please open a GitHub issue with:
- Go version (
go version) - Operating system and architecture
- Minimal reproduction steps
- Expected vs. actual behavior
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-change) - Make your changes
- Run tests:
make testorgo test -race ./... - Run linting:
go vet ./... - Commit with a clear message
- Open a pull request
- Format code with
gofmt - Pass
go vetwith no warnings - Add tests for new functionality
- Keep changes focused — one feature or fix per PR
# Run all tests with race detection
go test -race -count=1 -timeout 120s ./...
# Run benchmarks
go test -bench=. -benchmem ./...
# Run a specific package's tests
go test -race ./internal/buffer/...- srtgo has zero external dependencies (stdlib +
golang.org/x/cryptoonly) - Internal packages under
internal/are not part of the public API - When in doubt, match behavior with the C++ SRT reference implementation
By contributing, you agree that your contributions will be licensed under the MIT License.