Commit Graph

65 Commits

Author SHA1 Message Date
Winlin
1b6f97bd2d
Refine source lock to fix race condition in source managers. v7.0.61 (#4449)
This PR fixes a critical race condition in SRS source managers where
multiple coroutines could create duplicate sources for the same stream.

- **Atomic source creation**: Source lookup, creation, and pool
insertion now happen atomically within lock scope
- **Consistent interface**: Standardize on `ISrsRequest*` interface
throughout codebase
- **Handler simplification**: Remove `ISrsLiveSourceHandler*` parameter,
obtain from global server instance

---------

Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-08-23 07:36:41 -06:00
Winlin
5adf684f59
AI: Remove multi-threading support and change to single-thread architecture. v7.0.59 (#4445)
This PR removes the multi-threading infrastructure from SRS and
consolidates the codebase to use single-thread architecture exclusively.
This is a architectural simplification that aligns with SRS's
coroutine-based design philosophy.

* Simplified Architecture: Eliminates complexity of multi-threading
coordination
* Better Alignment: Matches SRS's coroutine-based single-thread design
philosophy
* Reduced Complexity: Removes potential race conditions and threading
bugs
* Cleaner Code: More focused modules with clear responsibilities
* Easier Maintenance: Fewer moving parts and clearer execution flow

---------

Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-08-20 15:12:51 -06:00
Winlin
6e1134fe9b
Use clang format. v7.0.52 (#4433)
---------

Co-authored-by: ChenGH <chengh_math@126.com>
2025-08-11 23:19:19 -04:00
ChenGH
13597d1b7f
update copyright to 2025. v5.0.218 v6.0.159 v7.0.21 (#4271)
update copyright to 2025

---------

Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: winlin <winlinvip@gmail.com>
2025-01-14 17:35:18 +08:00
winlin
2a2da2253f Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
winlin
29eff1a242 Refine LICENSE. 2023-10-23 14:33:19 +08:00
Winlin
b1d1c7abe5
WHIP: Improve WHIP deletion by token verification. v5.0.164, v6.0.58 (#3595)
------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-07-01 19:08:21 +08:00
winlin
c46ef81ff2 SRS5: Update license date to 2023. v5.0.123
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
1b25ef9028 Merge branch '4.0release' into develop 2022-09-16 08:05:32 +08:00
winlin
686f57799e Fix #3179: WebRTC: Make sure the same m-lines order for offer and answer. v4.0.265 2022-09-16 08:02:12 +08:00
winlin
e47c3c410c Merge branch '4.0release' into develop 2022-09-06 18:47:22 +08:00
winlin
15610ca488 Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v4.0.262 2022-09-06 18:46:47 +08:00
winlin
770d959148 WebRTC: Support config, listener and SDP for TCP transport. 2022-09-04 20:13:33 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
winlin
d5c86dc5fa Switch LICENSE from MIT to **MIT or MulanPSL-2.0**. v5.0.21 2022-01-13 18:40:22 +08:00
winlin
4110fb14cb Squash: Fix bugs. v5.0.20 2022-01-11 08:40:37 +08:00
winlin
fbb6d9464c Discover api server and ip as candidates. v4.0.218 2022-01-04 22:31:27 +08:00
winlin
716e578a19 Squash: Fix bugs 2021-12-26 17:30:51 +08:00
winlin
63da0dca92 Cleanup server for GMC, by WaitGroup to destroy. (#2247). v4.0.206 2021-12-26 11:37:59 +08:00
Haibo Chen
c4a64ee470 Use SrsAsyncCallWorker in http hooks instead, to covert to async call. (#2542)
* Use SrsAsyncCallWorker in http hooks instead, to covert to async call.

* delete invalid function
2021-08-27 07:49:33 +08:00
Haibo Chen
a7feedabc6
Use SrsAsyncCallWorker in http hooks instead, to covert to async call. (#2542)
* Use SrsAsyncCallWorker in http hooks instead, to covert to async call.

* delete invalid function
2021-08-27 07:44:19 +08:00
Winlin
c8a1e0f3da
Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8 (#2464)
* Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8

* Update README.md

* Update README.md

* Refine format for AUTHORS.md
2021-07-08 14:30:47 +08:00
winlin
15901cacee SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
winlin
3cd22b6e6e Use SPDX-License-Identifier: MIT. 4.0.124 2021-05-31 12:59:21 +08:00
winlin
e3bca883e1 SuqashSRS4: Build SRT native 2021-05-16 16:14:00 +08:00
winlin
dae6dc5395 Rename SrsRtcStream* to SrsRtcSource*. 4.0.113 2021-05-15 12:33:02 +08:00
winlin
fd6c653d3c SquashSRS4: Refine performance for FastTimer 2021-05-07 11:25:37 +08:00
winlin
b823dcdfd7 RTC: Refine FastTimer to fixed interval. 4.0.101 2021-05-07 10:20:00 +08:00
winlin
00c192ede1 Timer: Apply shared FastTimer to RTC server. 4.0.93 2021-05-01 18:16:51 +08:00
winlin
0b62216999 SquashSRS4: Support av1 for Chrome M90 enabled it. 2021-04-30 08:13:38 +08:00
Winlin
e8fe66e3ba
RTC: Support av1 for Chrome M90 enabled it. 4.0.91 (#2324)
* RTC: Support av1 for Chrome M90 enabled it. 4.0.91

* RTC: Show codec for WebRTC publisher
2021-04-30 08:09:01 +08:00
winlin
a9d39f6946 RTC: Refine API params to create connection 2021-04-29 20:30:24 +08:00
winlin
c95bfc4a46 Timer: Apply shared FastTimer to RTC server 2021-04-23 11:17:58 +08:00
winlin
aa07f45545 SquashSRS4: Happy 2021 2021-04-20 19:03:02 +08:00
winlin
cec0191b16 Happy 2021 2021-04-20 19:00:14 +08:00
winlin
ff268dca23 SquashSRS4: Eliminate dead code, we never offer 2021-03-24 15:27:07 +08:00
winlin
6c7e24fc6d RTC: Eliminate dead code, we nerver send offer 2021-03-24 15:21:40 +08:00
winlin
8e4f252686 Support reload the object cache pool 2021-03-02 19:32:59 +08:00
winlin
501104e728 Perf: Limit the size of object cache pool 2021-03-02 19:32:56 +08:00
winlin
36f55247a3 Support reload the object cache pool 2021-02-27 08:21:04 +08:00
winlin
a29d6cba68 Perf: Limit the size of object cache pool 2021-02-27 08:18:08 +08:00
winlin
c3414a30dc RTC: Refine UDP packet peer fast id. 4.0.68 2021-02-10 15:57:25 +08:00
winlin
8cb5cab717 RTC: Refine UDP packet peer fast id. 4.0.68 2021-02-05 18:04:29 +08:00
winlin
64705d1cc8 RTC: Refine resouce management 2020-09-19 10:30:05 +08:00
winlin
dd7587c497 Dispose session when DTLS alert 2020-09-14 10:47:06 +08:00
winlin
66c680edb1 Refine code, use SrsConnectionManager 2020-09-11 18:55:18 +08:00
winlin
aaebecbcc9 RTC: Support UnifiedPlan 2020-08-21 18:08:54 +08:00
winlin
98ccea8cd3 RTC: Refine code 2020-08-07 17:15:36 +08:00
winlin
a1da95c906 RTC: Support server hijacker 2020-08-07 17:04:34 +08:00
winlin
b0590ef4fe RTC: Remove source from conneciton init. 2020-08-07 15:45:18 +08:00