OSSRS-AI
75d35b7817
AI: Ignore some code that is no need to cover.
2025-10-28 23:10:31 -04:00
OSSRS-AI
341c0c000c
AI: Add workflow utest for http stream.
2025-10-19 21:55:45 -04:00
OSSRS-AI
ce7ac11eae
AI: Add workflow test for HTTP conn
2025-10-19 19:10:52 -04:00
OSSRS-AI
a3f8d13c0a
AI: Fix utest fail bug.
2025-10-11 23:50:48 -04:00
OSSRS-AI
ef2bb34569
AI: Add utest to cover http module
2025-10-11 22:13:00 -04:00
OSSRS-AI
e8ac08dfa2
AI: Add utest to cover caster flv module.
2025-10-11 12:39:22 -04:00
OSSRS-AI
3948f0d4fe
AI: Add utest to cover app http module.
2025-10-05 21:55:49 -04:00
OSSRS-AI
c0fc8cb093
AI: Improve converage for app rtc module.
2025-09-27 09:40:57 -04:00
Winlin
d4d1d5d8b5
AI: Move some app files to kernel. v7.0.86 ( #4486 )
...
Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-09-13 10:26:47 -04:00
Winlin
2384f3fb06
AI: Fix naming problem for app module. v7.0.85 ( #4485 )
...
Co-authored-by: OSSRS-AI <winlinam@gmail.com>
2025-09-12 19:44:43 -04:00
Winlin
1fa2cba7c0
Organize utility functions to kernel. v7.0.65 ( #4455 )
2025-08-27 21:35:58 -04:00
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
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
Jacob Su
f1d98b9830
HTTPS: Support config key/cert for HTTPS API. v6.0.137 ( #4028 )
...
Co-authored-by: winlin <winlinvip@gmail.com>
2024-07-09 15:43:02 +08:00
Winlin
23d2602c34
UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 ( #4109 )
...
To manage an object:
```cpp
// Before
MyClass* ptr = new MyClass();
SrsAutoFree(MyClass, ptr);
ptr->do_something();
// Now
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
```
To manage an array of objects:
```cpp
// Before
char* ptr = new char[10];
SrsAutoFreeA(char, ptr);
ptr[0] = 0xf;
// Now
SrsUniquePtr<char[]> ptr(new char[10]);
ptr[0] = 0xf;
```
In fact, SrsUniquePtr is a limited subset of SrsAutoFree, mainly
managing pointers and arrays. SrsUniquePtr is better than SrsAutoFree
because it has the same API to standard unique ptr.
```cpp
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
MyClass* p = ptr.get();
```
SrsAutoFree actually uses a pointer to a pointer, so it can be set to
NULL, allowing the pointer's value to be changed later (this usage is
different from SrsUniquePtr).
```cpp
// OK to free ptr correctly.
MyClass* ptr;
SrsAutoFree(MyClass, ptr);
ptr = new MyClass();
// Crash because ptr is an invalid pointer.
MyClass* ptr;
SrsUniquePtr<MyClass> ptr(ptr);
ptr = new MyClass();
```
Additionally, SrsAutoFreeH can use specific release functions, which
SrsUniquePtr does not support.
---------
Co-authored-by: Jacob Su <suzp1984@gmail.com>
2024-07-09 10:29:36 +08:00
Winlin
e7069788e9
SmartPtr: Support shared ptr for live source. v6.0.129 ( #4089 )
...
Detail change log:
1. [Simple,Refactor] Remove member fields of http entry, etc.
e34b3d3aa4
2. [Ignore] Rename source to live_source.
846f95ec96
3. [Ignore] Use directly ptr in consumer.
d38af021ad
4. [Complex, Important] Use shared ptr for live source.
88f922413a
The object relationship:

---
Co-authored-by: Jacob Su <suzp1984@gmail.com>
2024-06-15 07:54:56 +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
Haibo Chen
771ae0a1a6
API: Support HTTP basic authentication for API. v6.0.4, v5.0.152 ( #3458 )
...
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-04-01 12:45:29 +08:00
winlin
c46ef81ff2
SRS5: Update license date to 2023. v5.0.123
...
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
chundonglinlin
981cab40d3
API: support metrics for prometheus.( #2899 ) ( #3189 )
...
* API: support metrics for prometheus.
* Metrics: optimize metrics statistics info.
* Refine: remove redundant code.
* Refine: fix metrics srs_streams param.
* Metrics: add major param.
* Metrics: refine params and metric comments.
* For #2899 : API: Support exporter for Prometheus. v5.0.67
Co-authored-by: winlin <winlin@vip.126.com>
2022-09-27 15:39:26 +08:00
winlin
625069af7f
WebRTC: Extract SrsRtcNetwork layer for UDP/TCP.
2022-09-04 20:14:09 +08:00
winlin
6a108fab6d
Fix #2837 : Callback: Support stream_url and stream_id. v5.0.55
2022-08-31 08:00:05 +08:00
winlin
1630918b0f
Refactor: Use compositor for ISrsKbpsDelta. v5.0.51
2022-08-30 09:26:51 +08:00
winlin
bc569d91a0
STAT: Ignore stat for API, only for HTTP streaming clients.
2022-08-29 07:54:48 +08:00
winlin
f492d8b03a
HTTP: Support API with body, for RTC.
2022-08-28 16:14:05 +08:00
winlin
457738f6eb
Fix #2881 : HTTP: Support merging api to server. v5.0.47
2022-08-28 13:11:31 +08:00
winlin
4e3ea99ccd
STAT: Refine stat for global server.
2022-08-27 20:40:34 +08:00
winlin
d117145b95
Update date from 2021 to 2022.
2022-06-20 19:22:25 +08:00
winlin
fa78cf3354
Prefix with srs_protocol in protocol directory.
2022-06-09 20:26:58 +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
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
e3bca883e1
SuqashSRS4: Build SRT native
2021-05-16 16:14:00 +08:00
winlin
8b74c7cb89
SquashSRS4: Happy 2021
2021-04-16 09:29:43 +08:00
winlin
c796c0d093
Fix #1689 , fix typo
2020-12-01 17:05:47 +08:00
winlin
32c1832d64
For #1657 , refine code
2020-11-07 07:39:50 +08:00
winlin
30ba5a32ed
For #1657 , Support HTTPS Streaming
2020-11-06 17:22:23 +08:00
winlin
272ca9d0f6
For #1657 , Support HTTPS API
2020-11-06 15:05:01 +08:00
winlin
7916214e27
For #1657 , refine api for http
2020-11-06 09:51:04 +08:00
winlin
5782b45978
For #1657 : Refine code
2020-11-05 21:44:47 +08:00
winlin
2fedb683e8
For #1657 , refine code
2020-11-05 21:25:55 +08:00
winlin
c3d290013e
For #1657 , handle on_message_done
2020-11-05 18:34:56 +08:00
winlin
4b082ea96c
For #1657 , refine http api disconnect log
2020-11-05 18:19:43 +08:00
winlin
74799a31e3
For #1657 , refine on_http_message with response writer
2020-11-05 18:08:13 +08:00
winlin
d67b050935
For #1657 , fix the jsonp bug
2020-11-05 17:57:22 +08:00
winlin
fc21b31714
For #1657 , refine the context for disposing
2020-11-05 17:16:59 +08:00
winlin
b492d59df0
For #1657 : Refine code
2020-11-05 16:52:33 +08:00
winlin
0a3a38762a
For #1657 : Remove duplicated code, merge http api with conn
2020-11-05 16:46:16 +08:00