Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
4714 commits
Select commit Hold shift + click to select a range
40df358
AI: Add guide for Augment. (#4404)
winlinvip Jun 25, 2025
07163df
Refactor code for #4349 for better review. (#4405)
winlinvip Jun 27, 2025
e840740
AI: Update threading model for augment code.
winlinvip Jun 28, 2025
1173560
AI: Add run utest in guideline for augment code.
winlinvip Jun 30, 2025
97e2b64
AI: Update utest private access and smart pointers for augment code.
winlinvip Jul 1, 2025
89f343a
AI: Update the pr diff guideline for augment code.
winlinvip Jul 2, 2025
d73ac36
AI: Update the docs guideline for augment code.
winlinvip Jul 3, 2025
cbc98dc
rtc2rtmp: Support RTC-to-RTMP remuxing with HEVC. v7.0.43 (#4349)
duiniuluantanqin Jul 3, 2025
a195515
AI: Update enhanced-rtmp spec for augment code.
winlinvip Jul 4, 2025
c5b6b72
RTMP2RTC: Support dual video track for bridge. v7.0.44 (#4413)
winlinvip Jul 4, 2025
b2a827f
Refine code and add tests for #4289. v7.0.45 (#4412)
winlinvip Jul 4, 2025
964ef99
Update docs link to latest in code.
winlinvip Jul 5, 2025
2a3ec6d
AI: Update SrsBuffer guide for Augment.
winlinvip Jul 8, 2025
1d91da1
Update bug_report.md
winlinvip Jul 10, 2025
6208b6f
Fix H.264 B-frame detection logic to comply with specification. v5.0.…
duiniuluantanqin Jul 10, 2025
5dc292c
NEW PROTOCOL: Support viewing stream over RTSP. v7.0.47 (#4333)
duiniuluantanqin Jul 11, 2025
f0b2d6d
AI: Update guideline to use C++98 for augment.
winlinvip Jul 11, 2025
0631715
AI: Update time guideline for augment.
winlinvip Jul 13, 2025
e712b12
RTC: audio packet jitter buffer. v7.0.48 (#4295)
chundonglinlin Jul 17, 2025
c86db48
AI: Update guideline about error handling for Augment.
winlinvip Jul 18, 2025
3562c27
Allow Forward to be configured with Env Var. v6.0.170 v7.0.49 (#4245)
ssysm Jul 28, 2025
c921c5a
AI: Update WebRTC arch about TURN for Augment.
winlinvip Aug 8, 2025
c762e82
AI: HTTP-FLV: Fix heap-use-after-free crash during stream unmount. v6…
winlinvip Aug 11, 2025
339897e
Feature: Support HLS with fmp4 segment for HEVC/LLHLS. v7.0.51 (#4159)
suzp1984 Aug 12, 2025
a59d172
fix rtc listen port conflict for origin2/3 conf (#4186)
suzp1984 Aug 12, 2025
6e1134f
Use clang format. v7.0.52 (#4433)
winlinvip Aug 12, 2025
f2e56c7
fix srt cmake 4.x compiling error. v7.0.52 (#4431)
suzp1984 Aug 12, 2025
db5e439
Valgrind: Return error for unsupported check=new on Valgrind < 3.21. …
duiniuluantanqin Aug 12, 2025
30ea67f
MP4 DVR: Fix audio/video synchronization issues in WebRTC recordings.…
suzp1984 Aug 12, 2025
5247578
AI: Update guideline for new origin cluster for augment.
winlinvip Aug 12, 2025
7e87287
Relase v6.0-b0, 6.0 beta0, v6.0.172, 170417 lines.
winlinvip Aug 12, 2025
7aba442
HLS: Remove deprecated hls_acodec/hls_vcodec configs. v7.0.53 (#4225)
suzp1984 Aug 13, 2025
9b871fd
Fix: Remove redundant enabled checks in HLS/DASH cleanup to prevent r…
suzp1984 Aug 14, 2025
f3cefc4
New SRS maintainer: Thank you for your contribution, Jacob.
winlinvip Aug 14, 2025
8fca986
Reorder maintainers ranked by number of commits.
winlinvip Aug 14, 2025
f40ca0f
Fix StUtimePerformance utest randomly failed.
winlinvip Aug 14, 2025
8cd4616
fix err memory leak in rtc to rtmp bridge. v6.0.174 v7.0.55 (#4441)
suzp1984 Aug 16, 2025
ebcaef4
RTMP: Support RTMPS server. v7.0.56 (#4443)
winlinvip Aug 18, 2025
664e868
HLS: restore HLS information when republish stream.(#3088). v7.0.57 (…
chundonglinlin Aug 20, 2025
3f57ca5
AI: Update SRS docs for Augment.
winlinvip Aug 20, 2025
f20a1ea
Refactor: Convert HTTP hooks from static methods to interface-based a…
winlinvip Aug 20, 2025
5adf684
AI: Remove multi-threading support and change to single-thread archit…
winlinvip Aug 20, 2025
6ec9706
AI: Remove cygwin64, always enable WebRTC, and enforce C++98 compatib…
winlinvip Aug 21, 2025
1b6f97b
Refine source lock to fix race condition in source managers. v7.0.61 …
winlinvip Aug 23, 2025
72ddc28
AI: Implement stream publish token system to prevent race conditions …
winlinvip Aug 26, 2025
eaa3d51
RTC: Fix null pointer crash in RTC2RTMP when start packet is missing.…
suzp1984 Aug 26, 2025
1c4ecef
AI: Config: Move RTMP configs to rtmp{} section. v7.0.64 (#4454)
winlinvip Aug 27, 2025
1fa2cba
Organize utility functions to kernel. v7.0.65 (#4455)
winlinvip Aug 28, 2025
6f039eb
Retry if blackbox test fail.
winlinvip Aug 28, 2025
7a927c5
AI: Remove cloud CLS and APM. v7.0.66 (#4456)
winlinvip Aug 28, 2025
0de81e9
SRT: Fix SRT publish failed issue.
winlinvip Aug 29, 2025
35e2808
Support IPv6 for all protocols: RTMP, HTTP/HTTPS, WebRTC, SRT, RTSP. …
winlinvip Aug 30, 2025
5d69569
AI: Remove most of reload, only keep framework. (#4458)
winlinvip Aug 30, 2025
084bb6f
Remove most of reload, only keep framework.
winlinvip Aug 30, 2025
32dfed4
AI: Merge SRT and RTC servers into unified SrsServer. v7.0.68 (#4459)
winlinvip Aug 31, 2025
3ca4f0a
AI: Always enable SRT protocol. v7.0.69 (#4460)
winlinvip Aug 31, 2025
728828e
AI: Extract shared components and improve SRS server architecture. v7…
winlinvip Aug 31, 2025
0d6d36d
HTTP: Rename HTTP hijack to dynamic match for better clarity. v7.0.71…
winlinvip Sep 1, 2025
b834be6
AI: Use SrsHttpUri for URL parsing and add legacy RTMP URL conversion…
winlinvip Sep 1, 2025
c534a26
AI: Update RTMP message memory management with shared pointers. v7.0.…
winlinvip Sep 1, 2025
3e8cb3f
AI: Replace SrsSharedPtrMessage with SrsMediaPacket for unified media…
winlinvip Sep 1, 2025
f3059d3
Refine RTMP common message.
winlinvip Sep 1, 2025
d9fe2c4
AI: GB28181: Remove embedded SIP server and enforce external SIP usag…
winlinvip Sep 2, 2025
421ab6c
WebRTC: Fix race condition in RTC publish timer callbacks. v7.0.76 (#…
winlinvip Sep 3, 2025
6720e96
Upgrade HTTP parser from http-parser to llhttp. v7.0.77 (#4469)
winlinvip Sep 4, 2025
57e1622
WebRTC: Fix NACK recovered packets not being added to receive queue. …
whytolearn Sep 4, 2025
8f09c41
WebRTC: Fix race condition in RTC nack timer callbacks. v7.0.79 (#4474)
winlinvip Sep 5, 2025
8976ce4
AI: Support anonymous coroutine with code block. v7.0.80 (#4475)
winlinvip Sep 6, 2025
7c1e87e
AI: Add more utests for kernel module. v7.0.81 (#4478)
winlinvip Sep 6, 2025
8f87d40
AI: Fix naming problem in kernel module. v7.0.82 (#4479)
winlinvip Sep 8, 2025
3a29e5c
AI: Fix naming issue for protocol module. v7.0.83 (#4482)
winlinvip Sep 10, 2025
a6d14eb
SRT2RTMP: fix srt bridge hevc to rtmp error. v7.0.84 (#4446)
suzp1984 Sep 10, 2025
2384f3f
AI: Fix naming problem for app module. v7.0.85 (#4485)
winlinvip Sep 12, 2025
d4d1d5d
AI: Move some app files to kernel. v7.0.86 (#4486)
winlinvip Sep 13, 2025
fadc121
AI: Add utests for kernel and protocol. v7.0.87 (#4488)
winlinvip Sep 14, 2025
4247bd1
Improve coverage for kernel. v7.0.88 (#4489)
winlinvip Sep 15, 2025
6eed395
Improve coverage for protocol.
winlinvip Sep 15, 2025
5b27c3f
RTC2RTMP: Fix sequence number wraparound assertion crashes. v6.0.177 …
winlinvip Sep 15, 2025
49594b1
Update stable version to SRS 6.0
winlinvip Sep 15, 2025
b39aae1
AI: Cover protocol HTTP/HTTPS/RTMP/RTC by utests. (#4493)
winlinvip Sep 16, 2025
04b88e8
AI: Improve coverage of app by utest (#4494)
winlinvip Sep 17, 2025
e999de0
AI: Add utests to cover app rtc module. (#4498)
winlinvip Sep 18, 2025
20f6cd5
AI: Refine RTMP/SRT/RTC bridge. v7.0.90 (#4503)
winlinvip Sep 20, 2025
f4c54ab
fix rtsp compiling warning. v7.0.91 (#4504)
suzp1984 Sep 20, 2025
ca261fe
AI: Improve coverage for app module.
ossrs-ai Sep 21, 2025
10c0b66
Fix WHIP with transcoding bug. v7.0.92 (#4495)
winlinvip Sep 21, 2025
a1dd735
AI: Improve coverage of app module.
ossrs-ai Sep 21, 2025
2dfa54e
improve blackbox test for rtsp. v7.0.93 (#4505)
duiniuluantanqin Sep 22, 2025
ea14cae
rename HEVC-related mux functions to enhance consistency and readabil…
duiniuluantanqin Sep 22, 2025
c0fc8cb
AI: Improve converage for app rtc module.
ossrs-ai Sep 22, 2025
c7821b4
For Edge, only support RTMP or HTTP-FLV. v7.0.94 (#4513)
winlinvip Sep 27, 2025
df3c776
AI: Improve converage for app rtc module.
winlinvip Sep 27, 2025
3f876d3
AI: Improve the coverage for app hls module.
ossrs-ai Sep 30, 2025
fc6a851
SRT: Support configurable default_streamid option. v6.0.180 v7.0.95 (…
ossrs-ai Oct 2, 2025
702a58d
AI: Improve coverage for app rtmp module.
ossrs-ai Oct 2, 2025
71302c4
SRT: Default to request for VLC. #4515
winlinvip Oct 3, 2025
cdfe823
AI: Add utest to cover app server module.
ossrs-ai Oct 3, 2025
b566474
AI: Add utest to cover app rtmp module.
ossrs-ai Oct 4, 2025
3948f0d
AI: Add utest to cover app http module.
ossrs-ai Oct 5, 2025
1509fde
AI: Add utest to cover api module.
ossrs-ai Oct 6, 2025
809d77b
AI: Add utest to cover srt module.
ossrs-ai Oct 7, 2025
94dde8e
AI: Add utest to cover rtsp module.
ossrs-ai Oct 7, 2025
8ed07e3
AI: Add utest to cover edge module.
ossrs-ai Oct 7, 2025
f0d713e
AI: Add utest to cover dvr module.
ossrs-ai Oct 8, 2025
3919e86
AI: Add utest to cover gb module.
ossrs-ai Oct 8, 2025
646b833
AI: Add utest to cover the rtc network module.
ossrs-ai Oct 9, 2025
de3d5bd
AI: Add utest to cover dash module.
ossrs-ai Oct 9, 2025
afeea8a
AI: Add utest to cover listener module.
ossrs-ai Oct 10, 2025
ae2ba44
AI: Add utest to cover hooks module.
ossrs-ai Oct 10, 2025
af655c5
AI: Fix blackbox test bug for DVR.
ossrs-ai Oct 10, 2025
604f945
AI: Add utest to cover srt module.
ossrs-ai Oct 11, 2025
c6c6f38
AI: Add utest to cover the rtc server.
ossrs-ai Oct 11, 2025
b239975
AI: Add utest to cover encoder module
ossrs-ai Oct 11, 2025
4004ddb
AI: Add test to cover app caster module
ossrs-ai Oct 11, 2025
e8ac08d
AI: Add utest to cover caster flv module.
ossrs-ai Oct 11, 2025
ef2bb34
AI: Add utest to cover http module
ossrs-ai Oct 11, 2025
a3f8d13
AI: Fix utest fail bug.
ossrs-ai Oct 12, 2025
6846f8e
AI: Add utest to cover recv thread module
ossrs-ai Oct 13, 2025
1606c3d
Fix utest failed.
winlinvip Oct 13, 2025
123df8a
Make RTMP listen optional.
winlinvip Oct 13, 2025
31e191e
Init ST after daemon started.
winlinvip Oct 13, 2025
bf7e931
Refine access specifier for utest.
winlinvip Oct 14, 2025
1bc1850
Disable sanitizer by default to fix memory leak. #4364 v7.0.96
winlinvip Oct 15, 2025
315ae2c
AI: Add utest to cover encoder module.
ossrs-ai Oct 15, 2025
5d01393
AI: Add utest to cover process module
ossrs-ai Oct 15, 2025
223202f
AI: Add utest to cover version query
ossrs-ai Oct 15, 2025
44c3dab
AI: Add utest to cover heatbeat.
ossrs-ai Oct 15, 2025
6f52628
RTC2RTMP: fix illegal memory access. v7.0.97 (#4520)
JackLau1222 Oct 15, 2025
abaffdd
fix crash issue caused by reload configuration file. v7.0.98 (#4530)
duiniuluantanqin Oct 16, 2025
ed120ba
AI: Add utest to manually verify rtc play workflow
ossrs-ai Oct 16, 2025
5cf615f
Update README for v6.0-b2
winlinvip Oct 16, 2025
c9fe296
AI: Add utest to cover 3 streams play stream.
ossrs-ai Oct 16, 2025
3f706f9
Refine utest mock.
winlinvip Oct 16, 2025
0d43ed5
HLS: Fix a iterator bug in hls_ctx cleanup function. v6.0.182 v7.0.99…
duiniuluantanqin Oct 17, 2025
8b76e1f
AI: Add workflow utest for rtc publisher
ossrs-ai Oct 17, 2025
054d3a3
AI: Add workflow utest for rtc conn.
ossrs-ai Oct 17, 2025
f86c134
AI: Add workflow utest for RTMP conn
ossrs-ai Oct 18, 2025
2913d5b
AI: Refine utests.
ossrs-ai Oct 19, 2025
35d0e3d
AI: Add workflow utest for SRT conn
ossrs-ai Oct 19, 2025
ce7ac11
AI: Add workflow test for HTTP conn
ossrs-ai Oct 19, 2025
341c0c0
AI: Add workflow utest for http stream.
ossrs-ai Oct 19, 2025
4e35b6c
AI: Add utest to cover signal manager
ossrs-ai Oct 20, 2025
845e028
Forward: Reject RTMPS destinations with clear error message. v7.0.100…
winlinvip Oct 20, 2025
8fd92d1
AI: Add utest to cover forwarding module. #4531
ossrs-ai Oct 22, 2025
0e28422
Update guideline for AI.
winlinvip Oct 22, 2025
0c9868b
AI: Fix AAC audio sample rate reporting in API. v7.0.101 (#4518)
ossrs-ai Oct 23, 2025
2810d32
AI: Only support AAC/MP3/Opus audio codec. v7.0.102 (#4516)
ossrs-ai Oct 23, 2025
2893f43
Compress guideline for AI.
winlinvip Oct 23, 2025
2fb216e
AI: Refine utest file rules.
ossrs-ai Oct 23, 2025
8f1578e
Refactor: Rename ide/ directory to cmake/ for better clarity (#4539)
duiniuluantanqin Oct 24, 2025
d9ea25b
AI: Update conf description for multiple ep for callback. #4421
ossrs-ai Oct 25, 2025
b7828e1
API: Remove minimum limit of 10 for count parameter in /api/v1/stream…
ossrs-ai Oct 25, 2025
6590871
AI: HLS: Support hls_master_m3u8_path_relative for reverse proxy comp…
ossrs-ai Oct 26, 2025
9eae868
AI: Build: Improve dependency checking to report all missing dependen…
ossrs-ai Oct 26, 2025
51ab640
AI: WebRTC: Fix camera/microphone not released after closing publishe…
ossrs-ai Oct 26, 2025
4ae9871
AI: Remove deprecated SrsRtcPublisherAsync and SrsRtcPlayerAsync use …
ossrs-ai Oct 26, 2025
1d91053
Update guideline for AI about sanitizer.
winlinvip Oct 26, 2025
5fc1f2d
AI: API: Add clients field to on_play/on_stop webhooks and total fiel…
ossrs-ai Oct 26, 2025
19b603a
AI: HTTPS: Handle SSL_ERROR_ZERO_RETURN as graceful connection closur…
ossrs-ai Oct 26, 2025
547b0c0
AI: Edge: Fix stream names with dots being incorrectly truncated in s…
ossrs-ai Oct 26, 2025
3dc7b40
AI: HTTP-FLV: Enforce minimum 10ms sleep to prevent CPU busy-wait whe…
ossrs-ai Oct 27, 2025
550760f
HLS/DASH: Fix dispose to skip unpublish when not enabled, and add for…
winlinvip Oct 27, 2025
ef048b0
RTC: Fix DVR missing first 4-6 seconds by initializing rate from SDP …
duiniuluantanqin Oct 28, 2025
7589063
Enable default configure test.
winlinvip Oct 28, 2025
1faadd0
AI: Improve utest coverage for HLS.
ossrs-ai Oct 29, 2025
75d35b7
AI: Ignore some code that is no need to cover.
ossrs-ai Oct 29, 2025
8438c8a
AI: Improve utest coverage.
ossrs-ai Oct 29, 2025
91a051b
AI: AAC: Fix mono audio reported as stereo in HTTP API. v7.0.112 (#3556)
ossrs-ai Oct 30, 2025
8acceb1
AI: HLS: Fix crash when segment is not open by adding NULL checks. v7…
ossrs-ai Oct 30, 2025
abacd68
WebRTC: Use realtime for TWCC timestamp accuracy. v7.0.114
winlinvip Oct 30, 2025
57c74d1
Add ignore configuration for cursor. v7.0.115 (#4547)
vivisoymilkhappy Oct 31, 2025
1f4c05b
Fill missing defs for H264/AVC video levels. v7.0.116 (#4556)
laurfb Nov 3, 2025
7439a91
Update README.md with v6.0-b3 release.
winlinvip Nov 3, 2025
82d57e1
AI: Refine bug caused flaky test failure.
ossrs-ai Nov 3, 2025
f90a96a
Fix a typo in README.md (#4558)
HuaChunbo Nov 4, 2025
eb9fca8
AI: SRT: Report video/audio codec info and frame stats in HTTP API. v…
ossrs-ai Nov 4, 2025
dc8b2a8
AI: WebRTC: Report video/audio codec info and frame stats in HTTP API…
ossrs-ai Nov 5, 2025
0c26a3c
AI: RTC: Support keep_original_ssrc to preserve SSRC and timestamps. …
ossrs-ai Nov 6, 2025
99970d6
AI: HLS: Support query string in hls_key_url for JWT tokens. v7.0.120…
ossrs-ai Nov 7, 2025
f392f9a
WHIP: Return detailed HTTP error responses with proper status codes. …
winlinvip Nov 8, 2025
1a96abc
AI: API: Add audio_frames and video_frames to HTTP API. v7.0.122 (#45…
ossrs-ai Nov 8, 2025
7fcd406
AI: WebRTC: Support VP9 codec for WebRTC-to-WebRTC streaming. v7.0.12…
ossrs-ai Nov 8, 2025
bfb91f9
AI: WebRTC: Support G.711 (PCMU/PCMA) audio codec for WebRTC. v7.0.12…
ossrs-ai Nov 9, 2025
e509d07
Add codecs supprted in README
winlinvip Nov 9, 2025
3f2539d
AI: SRT: Stop TS parsing in SrsSrtFormat after codec detection. v7.0.…
ossrs-ai Nov 11, 2025
6e93dd7
AI: WebRTC: Support optional msid attribute per RFC 8830. v7.0.126 (#…
ossrs-ai Nov 11, 2025
a3a2fa5
AI: Fix race condition causing immediate deletion of new sources. v7.…
ossrs-ai Nov 14, 2025
e59b303
AI: API: Change pagination default count to 10, minimum 1. v7.0.128 (…
ossrs-ai Nov 18, 2025
4101900
RTMP: Ignore FMLE start packet after flash publish. v7.0.129 (#4588)
artem-smorodin-dacast Nov 27, 2025
18c30dc
AI: SRT: Fix player not exiting when publisher disconnects. v7.0.130 …
ossrs-ai Nov 28, 2025
f47e3ab
SRT: Support default_mode config for short streamid format. v7.0.131 …
ossrs-ai Nov 30, 2025
00494d5
AI: WebRTC: Fix audio-only WHIP publish without SSRC. v7.0.132 (#4570…
ossrs-ai Dec 3, 2025
e970ad2
Update README for 6.0 release 0.
winlinvip Dec 3, 2025
a83c902
SRT: Enable tlpktdrop by default to prevent 100% CPU usage. v7.0.133 …
ossrs-ai Dec 4, 2025
1560077
SRT: Fix peer_idle_timeout not applied to publishers and players. v7.…
ossrs-ai Dec 6, 2025
6a86d9e
DVR: Fix HEVC mp4 recording error. v7.0.135 (#4604) (#4604)
suzp1984 Dec 7, 2025
d3fce1c
HLS: Fix audio-only fMP4 playback skipping. v7.0.136 (#4602) (#4602)
suzp1984 Dec 7, 2025
93c5d72
Update for SRSX with proxy server.
winlinvip Dec 13, 2025
6e2392f
HLS/DASH: Fix dispose() to cleanup files after unpublish (#4618)
ppeeou Feb 4, 2026
a86cd7c
OpenClaw: Create knowledge base for AI robot (#4636)
winlinvip Feb 14, 2026
4c39d2b
Move proxy from ossrs/proxy repo to proxy directory
winlinvip Feb 15, 2026
0243429
OpenClaw: add and refine ST knowledge-base and learning/review skills…
winlinvip Mar 5, 2026
aa3da62
OpenClaw: Improve srs-support skill with evals, latency corrections, …
winlinvip Mar 21, 2026
ebf8b71
Proxy: restructure repo as Go project with proxy as first module (#4652)
winlinvip Mar 22, 2026
f48b2b3
OpenClaw: Unify AI agent configs with shared persona symlinks (#4653)
winlinvip Mar 22, 2026
c741943
Rename openclaw workspace name.
winlinvip Mar 22, 2026
ada9396
OpenClaw: Rename openclaw/ to .openclaw/ and update all symlinks and …
winlinvip Mar 22, 2026
8a53cb5
OpenClaw: Restructure workspace with symlinks, add codebase map, and …
winlinvip Mar 26, 2026
5f47cee
OpenClaw: Improve SRS support skill with docs integration, troublesho…
winlinvip Mar 30, 2026
7c17c93
Refactor bootstrap for multi-server support and add srs-develop skill…
winlinvip Apr 6, 2026
460412c
Move build output to bin/, replace godotenv with custom .env parser, …
winlinvip Apr 12, 2026
cd11a67
Proxy: Harden internal/env tests and add counterfeiter fakes. v7.0.14…
winlinvip Apr 19, 2026
30fc777
Proxy: Modernize internal packages on stdlib and add unit tests. v7.0…
winlinvip Apr 23, 2026
d869643
Proxy: Refine logger and environment APIs. v7.0.146 (#4670)
winlinvip Apr 28, 2026
3663a8e
Proxy: Refactor server APIs and expand RTMP test coverage. v7.0.147 (…
winlinvip May 2, 2026
6ee6f1c
Proxy: Refactor for testability; add SRT/WHIP E2E and unit tests. v7.…
winlinvip May 17, 2026
57d1062
Code name: Free. v8.0.0
winlinvip May 17, 2026
913b773
Proxy: Fix RTC/SRT reader leak, legacy WHEP unwrap, WHEP perf guide. …
winlinvip May 18, 2026
8df9410
Edge: Fix HTTP-FLV 404 and RTMP late-join missing sequence headers. v…
winlinvip May 19, 2026
0f980d4
RTMP: Fix chunk timestamp/basic-header decoding and harden packet unm…
winlinvip May 29, 2026
024b46e
Update README to include Telegram badge
winlinvip Jul 4, 2026
e03c841
Revise README to focus on AI and remove sponsorship
winlinvip Jul 8, 2026
16a24fd
Enhance README with social media badges
winlinvip Jul 18, 2026
191aac2
Codex: Improve proxy tooling and maintainer workflows. v8.0.4 (#4689)
winlinvip Jul 26, 2026
c88245e
AI: Refine SRS skills and documentation structure (#4691)
winlinvip Aug 3, 2026
7bb0a04
Fix live source cleanup race before publisher activation. v8.0.5 (#4692)
winlinvip Aug 3, 2026
b6b7016
Codex: Add configurable proxy origin registration TTL. v8.0.6 (#4694)
winlinvip Aug 4, 2026
ee0c5cd
Player: Fix reverse-proxy URLs and refresh issue records. v8.0.7 (#4698)
winlinvip Aug 6, 2026
9be7486
Fix #4642: Reject duplicate WebRTC TCP owners. v8.0.8 (#4699)
winlinvip Aug 7, 2026
2bb5e44
Fix #4639: Terminate SSRC group SDP lines. v8.0.9 (#4701)
winlinvip Aug 7, 2026
8cba524
RTMP: Clean up publish state after forward backend failures. v8.0.10 …
winlinvip Aug 7, 2026
82d33a5
Fix MP4 DVR timing for repeated DTS samples. v8.0.11 (#4704)
winlinvip Aug 9, 2026
7a5f5a8
RTC2RTMP: Deduplicate AVC and HEVC sequence headers. v8.0.12 (#4706)
winlinvip Aug 10, 2026
e340dfa
Codex: Fix duplicated RTMP callback parameters. v8.0.13 (#4708)
winlinvip Aug 10, 2026
798d351
HTTP-FLV: Preserve forwarded client IP behind a reverse proxy. v8.0.1…
winlinvip Aug 10, 2026
1acb366
Fix graceful disconnect metrics and update issue records. v8.0.15 (#4…
winlinvip Aug 11, 2026
64e861c
feat(skills): expand development workflows and add Oryx support. v8.0…
winlinvip Aug 11, 2026
f31ad22
CI: Modernize GitHub Actions. v8.0.17 (#4715)
winlinvip Aug 12, 2026
141d79d
JSON: Update vendored json-parser library. v8.0.18 (#4716)
winlinvip Aug 12, 2026
b666bd6
Codex: Correct RTC frame statistics. v8.0.19 (#4717)
winlinvip Aug 13, 2026
326b5fa
Proxy: Preserve HTTP response headers and safely rewrite HLS. v8.0.20…
winlinvip Aug 13, 2026
7790390
StateThreads: Set Non-Executable Stack. v8.0.21 (#4679)
atupone Aug 13, 2026
ee6cb43
GB28181: Clean up external SIP sessions after timeout or TCP disconne…
winlinvip Aug 14, 2026
a4f5ac3
RTMP: Restore correct chunk stream IDs for strict clients. v8.0.23 (#…
winlinvip Aug 17, 2026
5491196
Proxy: Replace io/ioutil and strengthen integration verification. v8.…
sevico Aug 17, 2026
7cabe9e
Improve VS Code debug and CMake build tasks. v8.0.25 (#4662)
chenfengfeng123 Aug 18, 2026
69cbfe5
Proxy: Fix resource leak in ParseBody. v8.0.26 (#4659)
sevico Aug 18, 2026
dc9621b
Player: Support native HLS playback before hls.js fallback. v8.0.27 (…
FlyModeZ Aug 18, 2026
bb5fde2
feat: support Bearer authentication for SRS and proxy APIs. v8.0.28 (…
winlinvip Aug 19, 2026
dc1120f
Claude: Upgrade libsrt to 1.5.6 for security enhancement. v8.0.29 (#4…
winlinvip Aug 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
17 changes: 17 additions & 0 deletions .agents/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Workspace Instructions

Keep the current working directory unchanged. For workspace instructions and workspace-owned files, look for files and folders under `.agents/`.

Before doing any work in this repository, read these files in full from `.agents/`:

- `.agents/IDENTITY.md`
- `.agents/MEMORY.md`
- `.agents/SOUL.md`
- `.agents/TOOLS.md`
- `.agents/USER.md`

Use them as the workspace context for identity, user preferences, memory, local tools, and operating conventions.

Additional `.agents/` workspace folders:

- `.agents/skills/` — skills available for tasks in this repository.
1 change: 1 addition & 0 deletions .agents/IDENTITY.md
1 change: 1 addition & 0 deletions .agents/MEMORY.md
1 change: 1 addition & 0 deletions .agents/SOUL.md
1 change: 1 addition & 0 deletions .agents/TOOLS.md
1 change: 1 addition & 0 deletions .agents/USER.md
1 change: 1 addition & 0 deletions .agents/skills
300 changes: 300 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,300 @@
# This file is generated by `clang-format -style=llvm -dump-config > .clang-format` and modified to fit srs project's style guide.
# the modifications are:
# AccessModifierOffset: -4
# BreakBeforeBraces: Linux
# ColumnLimit: 0
# IndentWidth: 4
# TabWidth: 4
# Macros: SRS_DECLARE_PRIVATE=private, SRS_DECLARE_PROTECTED=protected (treat as access specifiers)
# refer to https://clang.llvm.org/docs/ClangFormatStyleOptions.html for more details.
---
Language: Cpp
AccessModifierOffset: -4
AlignAfterOpenBracket: Align
AlignArrayOfStructures: None
AlignConsecutiveAssignments:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: true
AlignConsecutiveBitFields:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveDeclarations:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: true
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveMacros:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveShortCaseStatements:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCaseArrows: false
AlignCaseColons: false
AlignConsecutiveTableGenBreakingDAGArgColons:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveTableGenCondOperatorColons:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignConsecutiveTableGenDefinitionColons:
Enabled: false
AcrossEmptyLines: false
AcrossComments: false
AlignCompound: false
AlignFunctionDeclarations: false
AlignFunctionPointers: false
PadOperators: false
AlignEscapedNewlines: Right
AlignOperands: Align
AlignTrailingComments:
Kind: Always
OverEmptyLines: 0
AllowAllArgumentsOnNextLine: true
AllowAllParametersOfDeclarationOnNextLine: true
AllowBreakBeforeNoexceptSpecifier: Never
AllowShortBlocksOnASingleLine: Never
AllowShortCaseExpressionOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true
AllowShortEnumsOnASingleLine: true
AllowShortFunctionsOnASingleLine: All
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLoopsOnASingleLine: false
AllowShortNamespacesOnASingleLine: false
AlwaysBreakAfterDefinitionReturnType: None
AlwaysBreakBeforeMultilineStrings: false
AttributeMacros:
- __capability
BinPackArguments: true
BinPackParameters: BinPack
BitFieldColonSpacing: Both
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterExternBlock: false
AfterFunction: false
AfterNamespace: false
AfterObjCDeclaration: false
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
BeforeLambdaBody: false
BeforeWhile: false
IndentBraces: false
SplitEmptyFunction: true
SplitEmptyRecord: true
SplitEmptyNamespace: true
BreakAdjacentStringLiterals: true
BreakAfterAttributes: Leave
BreakAfterJavaFieldAnnotations: false
BreakAfterReturnType: None
BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeConceptDeclarations: Always
BreakBeforeBraces: Linux
BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakBinaryOperations: Never
BreakConstructorInitializers: BeforeColon
BreakFunctionDefinitionParameters: false
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
BreakTemplateDeclarations: MultiLine
ColumnLimit: 0
CommentPragmas: '^ IWYU pragma:'
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
DisableFormat: false
EmptyLineAfterAccessModifier: Never
EmptyLineBeforeAccessModifier: LogicalBlock
ExperimentalAutoDetectBinPacking: false
FixNamespaceComments: true
ForEachMacros:
- foreach
- Q_FOREACH
- BOOST_FOREACH
IfMacros:
- KJ_IF_MAYBE
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IncludeIsMainRegex: '(Test)?$'
IncludeIsMainSourceRegex: ''
IndentAccessModifiers: false
IndentCaseBlocks: false
IndentCaseLabels: false
IndentExportBlock: true
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequiresClause: true
IndentWidth: 4
IndentWrappedFunctionNames: false
InsertBraces: false
InsertNewlineAtEOF: false
InsertTrailingCommas: None
IntegerLiteralSeparator:
Binary: 0
BinaryMinDigits: 0
Decimal: 0
DecimalMinDigits: 0
Hex: 0
HexMinDigits: 0
JavaScriptQuotes: Leave
JavaScriptWrapImports: true
KeepEmptyLines:
AtEndOfFile: false
AtStartOfBlock: true
AtStartOfFile: true
KeepFormFeed: false
LambdaBodyIndentation: Signature
LineEnding: DeriveLF
MacroBlockBegin: ''
MacroBlockEnd: ''
Macros:
- 'SRS_DECLARE_PRIVATE=private:'
- 'SRS_DECLARE_PROTECTED=protected:'
MainIncludeChar: Quote
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCBinPackProtocolList: Auto
ObjCBlockIndentWidth: 2
ObjCBreakBeforeNestedBlockParam: true
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: BinPack
PenaltyBreakAssignment: 2
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakBeforeMemberAccess: 150
PenaltyBreakComment: 300
PenaltyBreakFirstLessLess: 120
PenaltyBreakOpenParenthesis: 0
PenaltyBreakScopeResolution: 500
PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyIndentedWhitespace: 0
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Right
PPIndentWidth: -1
QualifierAlignment: Leave
ReferenceAlignment: Pointer
ReflowComments: Always
RemoveBracesLLVM: false
RemoveEmptyLinesInUnwrappedLines: false
RemoveParentheses: Leave
RemoveSemicolon: false
RequiresClausePosition: OwnLine
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
ShortNamespaceLines: 1
SkipMacroDefinitionBody: false
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
SortUsingDeclarations: LexicographicNumeric
SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceAroundPointerQualifiers: Default
SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: false
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeJsonColon: false
SpaceBeforeParens: ControlStatements
SpaceBeforeParensOptions:
AfterControlStatements: true
AfterForeachMacros: true
AfterFunctionDefinitionName: false
AfterFunctionDeclarationName: false
AfterIfMacros: true
AfterOverloadedOperator: false
AfterPlacementOperator: true
AfterRequiresInClause: false
AfterRequiresInExpression: false
BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpaceInEmptyBlock: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: Never
SpacesInContainerLiterals: true
SpacesInLineCommentPrefix:
Minimum: 1
Maximum: -1
SpacesInParens: Never
SpacesInParensOptions:
ExceptDoubleParentheses: false
InCStyleCasts: false
InConditionalStatements: false
InEmptyParentheses: false
Other: false
SpacesInSquareBrackets: false
Standard: c++03
StatementAttributeLikeMacros:
- Q_EMIT
StatementMacros:
- Q_UNUSED
- QT_REQUIRE_VERSION
TableGenBreakInsideDAGArg: DontBreak
TabWidth: 4
UseTab: Never
VerilogBreakBetweenInstancePorts: true
WhitespaceSensitiveMacros:
- BOOST_PP_STRINGIZE
- CF_SWIFT_NAME
- NS_SWIFT_NAME
- PP_STRINGIZE
- STRINGIZE
WrapNamespaceBodyWithEmptyLines: Leave
...

17 changes: 17 additions & 0 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Workspace Instructions

Keep the current working directory unchanged. For workspace instructions and workspace-owned files, look for files and folders under `.claude/`.

Before doing any work in this repository, read these files in full from `.claude/`:

- `.claude/IDENTITY.md`
- `.claude/MEMORY.md`
- `.claude/SOUL.md`
- `.claude/TOOLS.md`
- `.claude/USER.md`

Use them as the workspace context for identity, user preferences, memory, local tools, and operating conventions.

Additional `.claude/` workspace folders:

- `.claude/skills/` — skills available for tasks in this repository.
1 change: 1 addition & 0 deletions .claude/IDENTITY.md
1 change: 1 addition & 0 deletions .claude/MEMORY.md
1 change: 1 addition & 0 deletions .claude/SOUL.md
1 change: 1 addition & 0 deletions .claude/TOOLS.md
1 change: 1 addition & 0 deletions .claude/USER.md
1 change: 1 addition & 0 deletions .claude/skills
9 changes: 9 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
coverage:
status:
project:
default:
target: auto
threshold: 2%
patch:
default:
informational: true
Loading