Winlin
b34255c3d0
WebRTC: Support configure CANDIDATE by env ( #3470 )
...
In dockerfile, we can set the default RTC candidate to env:
```
ENV SRS_RTC_SERVER_CANDIDATE=\$CANDIDATE
CMD ["./objs/srs", "-e"]
```
When starts a docker container, user can setup the candidate by env:
```
docker run --rm -it --env CANDIDATE=1.2.3.4 ossrs/srs:5
```
We should parse the content of SRS_RTC_SERVER_CANDIDATE as env variable name and parse it again.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
2023-03-27 19:24:08 +08:00
MarkCao
8fde0366fb
Kickoff publisher when stream is idle, which means no players. v6.0.31, v5.0.144 ( #3105 )
...
For some use scenario, the publisher is invited when player want to view the stream:
1. Publisher connect to system, but does not publish any stream to SRS yet.
2. Player connect to system and start to request the stream.
3. System notifies publisher to publish stream to SRS.
4. Player play the stream from SRS.
Please notice that `system` means your business system, not SRS.
This is what we called `on-demand-live-streaming`, so when the last player stop to view the stream, what happends?
1. System needs to notify publisher to stop publish.
2. Or, SRS disconnect the publisher when idle(the last player stops playing).
This PR is for the solution 2, so that the cleanup is very simple, your system does not need to notify publisher to stop publish, because SRS has already disconnected the publihser.
---------
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-03-06 09:09:27 +08:00
Winlin
dc7be76bb1
Forward add question mark to the end. v6.0.30 ( #3438 )
...
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-02-25 19:13:48 +08:00
Winlin
b75668b509
Compatible with legacy RTMP URL. v5.0.142. v6.0.27 ( #3429 )
...
For compatibility, transform
rtmp://ip/app...vhost...VHOST/stream
to typical format:
rtmp://ip/app/stream?vhost=VHOST
This is used for some legacy devices, which does not
support standard HTTP url query string.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-02-23 10:10:11 +08:00
wangzhen
3ce57ae6b6
HEVC: Fix nalu vec duplicate when h265 vps/sps/pps demux. v6.0.26 ( #3411 )
...
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-02-16 08:45:44 +08:00
Winlin
913dcb4406
UTest: Fix crash for stack overflow, allocate object on heap. ( #3394 )
...
* UTest: Fix crash for stack overflow, allocate object on heap.
* H265: Refine hevc vps/sps/pps id range.
---------
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-01-30 11:20:47 +08:00
chundonglinlin
ef90da352e
H265: Support HEVC over SRT.( #465 ) v6.0.20 ( #3366 )
...
* H265: Refine demux vps/sps/pps interface for SRT and GB.
* H265: Support HEVC over SRT.(#465 )
* UTest: add hevc vps/sps/pps utest.
* SRT: fix mpegts.js play hevc http-flv error.
* UTest: add HTTP-TS and HTTP-FLV blackbox test.
* Update release v6.0.20
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-01-22 13:47:24 +08:00
chundonglinlin
39c2b9c497
H265: Support demux vps/pps info. v6.0.15 ( #3379 )
...
* H265: Support parse vps/pps info for SRT and GB.
* H265: Update referenced doc.
* UTest: add hevc vps/sps/pps utest.
* Update release to v6.0.15
Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-17 18:04:53 +08:00
Winlin
498ce72af8
SRS5: Config: Support better env name for prefixed with srs ( #3370 )
...
* Actions: Fix github action warnings.
* Forward: Bind the context id of source or stream.
* Config: Support better env names.
PICK a4e7427433
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-11 10:57:24 +08:00
mapengfei53
edba2c25f1
HEVC: Support DVR HEVC stream to MP4. v6.0.14 ( #3360 )
...
* DVR: Support mp4 blackbox test based on hooks.
* HEVC: Support DASH HEVC stream
* Refine blackbox test. v6.0.14
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-08 15:05:43 +08:00
stone
748aa8508f
SRS5: Improve file writer performance by fwrite with cache. v5.0.133 ( #3308 )
...
* SrsFileWriter leverages libc buffer to boost dvr write speed.
* Refactor SrsFileWriter to use libc file functions mockable
* Add utest and refine code.
Co-authored-by: winlin <winlin@vip.126.com>
PICK 25eb21efe8
2023-01-08 12:06:38 +08:00
Winlin
f06a2d61f7
SRS5: DVR: Support blackbox test based on hooks. v5.0.132 ( #3365 )
...
PICK e655948e96
2023-01-07 21:34:09 +08:00
john
fe086dfc31
SRT: Upgrade libsrt from 1.4.1 to 1.5.1. v6.0.12 ( #3362 )
...
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-04 19:56:33 +08:00
Haibo Chen
57cc843000
SRS5: API: Fix duplicated on_stop callback event bug. v5.0.125 ( #3349 )
...
* fix hls bug:Duplicated on_stop callback
* improve utest
* Refine magic number.
* API: Fix duplicated on_stop callback event bug. v5.0.125
Co-authored-by: winlin <winlin@vip.126.com>
PICK 3727d0527c
2023-01-01 19:28:10 +08:00
winlin
c46ef81ff2
SRS5: Update license date to 2023. v5.0.123
...
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
35c89cc436
SRS5: MP3: Support dump stream information. v5.0.117 ( #296 ) ( #3339 )
...
PICK 95defe6dad
2022-12-26 18:06:37 +08:00
winlin
b5aaf67c93
Merge branch v5.0.116 into develop
...
1. MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296 ) (#3333 )
2. MP3: Add config examples for MP3. #296
3. Script: Refine GitHub actions.
2022-12-25 16:23:23 +08:00
winlin
05d7400cd5
Merge branch v4.0.269 into 5.0release
...
1. MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296 ) (#3333 )
2022-12-25 12:10:03 +08:00
Winlin
577cd299e1
MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 ( #296 ) ( #3333 )
...
* MP3: Fix bug for TS or HLS with mp3 codec. v4.0.269 (#296 )
1. Refresh HLS audio codec if changed in stream.
2. Refresh TS audio codec if changed in stream.
3. Fix mp3 demux bug in SrsFormat::audio_mp3_demux.
4. Use 3(MPEG1) not 4(MPEG2) as PMT stream type, follow FFmpeg.
5. MP3: Update utest for mp3 sample parsing.
6. MP3: Ignore empty frame sample.
7. UTest: Fix utest failed, do not copy files.
2022-12-25 11:43:26 +08:00
winlin
2f7e474853
Merge branch v5.0.112 into develop
...
1. SRT: Fix srt to rtmp crash when sps or pps empty. v5.0.112 (#3323 )
2. GB28181: Fix memory overlap for small packets. v5.0.111 (#3315 )
3. FLV: Support set default has_av and disable guessing. v5.0.110 (#3311 )
4. FLV: Drop packet if header flag is not matched. v5.0.109 (#3306 )
5. FLV: Reset has_audio or has_video if only sequence header. (#3310 )
2022-12-18 11:44:29 +08:00
Winlin
a36cb57949
FLV: Support set default has_av and disable guessing. v5.0.110 ( #3311 )
...
* FLV: Support set default has_av and disable guessing. v5.0.110
1. Support config default has_audio and has_video.
2. Support disable guessing has_audio or has_video.
* FLV: Reset to false if start to guess has_av.
* FLV: Add regression test for FLV header av metadata.
2022-12-17 14:51:48 +08:00
Winlin
4551200e95
FLV: Drop packet if header flag is not matched. v5.0.109 ( #3306 )
...
1. Ignore audo or video packets if FLV header disable it.
2. Run: Add regression test config and run for IDEA.
3. Test: Refine regression test to allow no audio/video for FLV
4. Config: Whether drop packet if not match header.
2022-12-14 21:07:14 +08:00
winlin
3049fa70eb
Merge branch v5.0.106 into develop
...
* Build: Refine cygwin64 test script.
* API: Parse fragment of URI. v5.0.106 (#3295 )
2022-12-08 18:56:53 +08:00
Haibo Chen
c5a0c5947f
API: Parse fragment of URI. v5.0.106 ( #3295 )
...
* parse fragment of uri
* adapt FMLE URL: 'rtmp://ip/app/app2#k=v/stream', then add more test case
Co-authored-by: winlin <winlin@vip.126.com>
2022-12-08 15:48:10 +08:00
chundonglinlin
a0803b556b
H265: Demux sps for log print and statistic streams.( #3271 ) ( #3286 )
...
* BitBuffer: add method to implement bit read operation.
* Codec: demux hevc sps for profile level resolution.
* Statistic: refine hevc profile level resolution.
* Kernel: return error code for demux hevc.
* Kernel: check bitstream length for hevc sps.
* UTest: add BitBuffer read bits utest.
* Kernel: refine print log and utest.
* Kernel: add comment for hevc sps.
Co-authored-by: winlin <winlin@vip.126.com>
2022-12-04 22:46:14 +08:00
winlin
fa177679a6
Merge 5.0.100, v5.0-a1 into develop.
2022-12-01 23:13:56 +08:00
mapengfei53
c7b7921712
Config: Add utest for configuring with ENV variables. v5.0.100 ( #3284 )
...
* Config: Add utest for configuring with ENV variables.
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-12-01 23:03:50 +08:00
winlin
152099b734
Merge branch v5.0.98 into develop.
...
1. Config: Add ENV tips for config. 5.0.97
2. SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98
2022-11-25 11:36:45 +08:00
Winlin
5cadfff2e5
SRT: Support transform tlpkdrop to tlpktdrop. 5.0.98 ( #3279 )
2022-11-25 11:28:49 +08:00
john
d927996890
DASH: Fix number mode bug to make it run. v5.0.96 ( #3240 )
...
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$
Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:13:49 +08:00
john
271afbbf82
DASH: Fix number mode bug to make it run. v5.0.96 ( #3240 )
...
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$
Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:09:50 +08:00
Winlin
70d5618979
H265: Support HEVC over HTTP-TS. v6.0.4 ( #3275 )
...
1. Update TS video codec to HEVC during streaming.
2. Return error when HEVC is disabled.
3. Parse HEVC NALU type by SrsHevcNaluTypeParse.
4. Show message when codec change for TS.
Co-authored-by: runner365 <shi.weibd@hotmail.com>
2022-11-23 17:05:21 +08:00
winlin
8debbe6db8
Asan: Fix utest bug.
2022-11-23 16:51:09 +08:00
winlin
f10412d289
Asan: Fix utest bug.
2022-11-23 16:46:57 +08:00
Winlin
f316e9a0de
H265: Support parse multiple NALUs in a frame. v6.0.3 ( #3274 )
...
1. Fix parsing multiple NALUs bug.
2. Eliminate duplicated code for parsing NALU.
3. Return error when HEVC not enabled.
2022-11-23 12:13:53 +08:00
Winlin
178e40a5fc
H265: Support HEVC over RTMP or HTTP-FLV. ( #3272 )
...
1. Support configure with --h265=on.
2. Parse HEVC(H.265) from FLV or RTMP packet.
3. Support HEVC over RTMP or HTTP-FLV.
Co-authored-by: runner365 <shi.weibd@hotmail.com>
2022-11-23 08:34:13 +08:00
Winlin
d741f81110
For #2532 : Windows: Support CYGWIN64 for SRS ( #3255 )
...
1. Support cygwin by '--cygwin64=on'
2. Detect cygwin automatically.
3. Disalbe sanitizer, srt and srtp with openssl.
4. Disable multiple threads, use single threads.
5. Support utest for cygwin64.
6. Query features for windows by API.
7. Disable stat APIs for cygwin.
8. Use ST select event driver.
Co-authored-by: wenjie.zhao <740936897@qq.com>
2022-11-20 12:29:57 +08:00
Winlin
368356c223
Support address sanitizer for utest and fix some leaks. ( #3242 )
...
* MP4: Fix memory leak when error.
* Kernel: Support free global objects for utest.
* HTTP: Fix memory leak when error.
* MP4: Support more sample rate for audio.
* RTMP: Support free field for utest.
* UTest: Support address sanitizer.
2022-11-18 11:19:01 +08:00
chundonglinlin
9f4338bd9d
For #2899 : Exporter: Add metrics cpu, memory and uname. ( #3224 )
...
* Exporter: metrics support cpu gauge.
* Exporter: metrics support memory and uname..
* Exporter: Ignore error when uname fail.
Co-authored-by: winlin <winlin@vip.126.com>
2022-10-31 08:53:58 +08:00
john
7d9dc69ae1
SRT: Support encrypt, with utest ( #3223 )
...
* SRT: support encrypt, with utest
* SRT: refine set srt option error log
2022-10-28 16:55:35 +08:00
Winlin
2d1ba46e37
Fix #3218 : Log: Follow Java/log4j log level specs. v5.0.83 ( #3219 )
...
1. Support Java/log4j log level text.
2. Support configuring by `--log-new-level=on` which is enabled by default.
3. Support `--log-new-level=off` to use SRS 4.0 log level for compatibility.
2022-10-26 21:23:03 +08:00
winlin
e9915c3bd7
Log: Refine the log interface. v5.0.82
2022-10-25 09:20:55 +08:00
winlin
e10fa6dc91
Kernel: Support grab backtrace stack when assert fail. v5.0.80
2022-10-21 23:37:30 +08:00
winlin
c12deded98
GB28181: Fix bug for parsing GB to RTC.
2022-10-07 19:47:34 +08:00
Winlin
5a420ece3b
GB28181: Support GB28181-2016 protocol. v5.0.74 ( #3201 )
...
01. Support GB config as StreamCaster.
02. Support disable GB by --gb28181=off.
03. Add utests for SIP examples.
04. Wireshark plugin to decode TCP/9000 as rtp.rfc4571
05. Support MPEGPS program stream codec.
06. Add utest for PS stream codec.
07. Decode MPEGPS packet stream.
08. Carry RTP and PS packet as helper in PS message.
09. Support recover from error mode.
10. Support process by a pack of PS/TS messages.
11. Add statistic for recovered and msgs dropped.
12. Recover from err position fastly.
13. Define state machine for GB session.
14. Bind context to GB session.
15. Re-invite when media disconnected.
16. Update GitHub actions with GB28181.
17. Support parse CANDIDATE by env or pip.
18. Support mux GB28181 to RTMP.
19. Support regression test by srs-bench.
2022-10-06 17:40:58 +08:00
winlin
9c81a0e1bd
UTest: Fix utest warnings.
2022-10-06 16:09:07 +08:00
mapengfei53
eb04f92176
Config: Support overwrote by environment variables. ( #3197 )
...
* Support overwrite by environment virable.
* modify duplicated code
* Config: Add stat for envrionment config.
* Config: Fix utest fail.
Co-authored-by: pengfei.ma <pengfei.ma@ctechm.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-10-03 13:00:12 +08:00
winlin
dc20d5ddbc
ST: Support set context id while thread running. v5.0.72
2022-10-02 10:05:01 +08:00
winlin
d32bd72527
Micro changes and fix utest fail.
2022-09-30 19:32:22 +08:00
winlin
1e6143e2eb
GB28181: Refine HTTP parser to support SIP. v5.0.70
2022-09-30 19:21:31 +08:00
winlin
4b7d9587f4
HTTP: Support HTTP header in creating order. v5.0.68
2022-09-30 18:22:25 +08:00
winlin
d65c699829
Micro changes and refines.
2022-09-30 18:11:59 +08:00
winlin
378bffa34f
Micro changes and refines.
2022-09-30 17:57:48 +08:00
winlin
173c683566
GB28181: Refine SRS listeners without wrapper.
2022-09-30 12:38:02 +08:00
winlin
0c6d30861b
Merge branch '4.0release' into develop
2022-09-27 14:53:23 +08:00
winlin
386b92e9ab
For #3167 : WebRTC: Refine sequence jitter algorithm. v4.0.266
2022-09-27 14:53:05 +08:00
hondaxiao
4acb246c57
Fix #3181 : SRT & WebRTC: Use SrsRawH264Stream to mux SPS/PPS.
2022-09-22 14:55:55 +08:00
winlin
3e2f8622f8
APM: Support distributed tracing by Tencent Cloud APM. v5.0.63
2022-09-16 18:54:28 +08:00
winlin
625069af7f
WebRTC: Extract SrsRtcNetwork layer for UDP/TCP.
2022-09-04 20:14:09 +08:00
winlin
77e1f81f91
For #1405 : Fix utest build failed, for parsing SPS/PPS.
2022-09-02 11:37:05 +08:00
winlin
783aea7ac3
Fix #1405 : Support guessing IBMF first. v5.0.58
2022-09-01 19:28:51 +08:00
winlin
dd37a041b9
Fix URL parsing bug for __defaultVhost__. v5.0.55
2022-08-31 11:46:09 +08:00
winlin
b009860b11
UTest: Split utest to smaller file.
2022-08-31 09:18:47 +08:00
winlin
9c6774b644
STAT: Refine tcUrl for SRT/RTC. v5.0.54
2022-08-30 21:28:06 +08:00
winlin
d877c0b76f
Tools: Update console and httpx.
2022-08-30 19:25:42 +08:00
winlin
2c259bd95b
Refactor: Extract SrsNetworkKbps from SrsKbps. v5.0.53
2022-08-30 13:41:27 +08:00
winlin
937605b18c
Remove bandwidth check because falsh is disabled. v5.0.52
2022-08-30 10:45:40 +08:00
winlin
1630918b0f
Refactor: Use compositor for ISrsKbpsDelta. v5.0.51
2022-08-30 09:26:51 +08:00
winlin
db91102e67
STAT: Extract an ephemeral delta object.
2022-08-29 13:44:10 +08:00
winlin
d7c2d5ab01
HLS: Stat the HLS streaming clients bandwidth. v5.0.49
2022-08-29 12:09:26 +08:00
winlin
28154e820c
URL: Use SrsHttpUri to parse URL and query.
2022-08-28 20:24:07 +08:00
winlin
9bd3c51818
RTMP: Refine code for gussing stream by app.
2022-08-28 17:03:34 +08:00
winlin
457738f6eb
Fix #2881 : HTTP: Support merging api to server. v5.0.47
2022-08-28 13:11:31 +08:00
winlin
d39995cc31
HLS: Enable hls_ctx by default.
2022-08-27 19:41:07 +08:00
ChenHaibo
ca7b5a1c4e
HLS: Add utest for HLS streaming.
2022-08-27 19:41:07 +08:00
winlin
8bc7342c3c
Protobuf: Extract protobuf encoder.
2022-08-26 18:46:26 +08:00
winlin
4edf33326d
Merge branch '4.0release' into develop
2022-08-17 11:10:30 +08:00
winlin
f9941a325b
RTMP URL supports domain in stream parameters. v4.0.255
2022-08-17 11:08:32 +08:00
winlin
a71eddd56a
Fix the snprintf size issue.
2022-08-10 08:32:02 +08:00
winlin
b2e083b00d
Support multiple threads by thread pool. v5.0.32
2022-06-29 20:15:44 +08:00
winlin
e05535267b
Disable reload for log config.
2022-06-29 19:29:50 +08:00
winlin
d117145b95
Update date from 2021 to 2022.
2022-06-20 19:22:25 +08:00
winlin
9efb6de0b4
SRT: Merge develop, fix build fail.
2022-06-14 20:02:25 +08:00
winlin
6009395c10
SRT: Hide srt implements from API.
2022-06-14 20:02:25 +08:00
winlin
d39ec3cf45
SRT: Extract ISrsSrtPoller to hide SRT_EPOLL_EVENT
2022-06-14 20:02:25 +08:00
winlin
78b778fb93
SRT: Rename srs_service_st_srt to srs_protocol_srt
2022-06-14 20:02:25 +08:00
winlin
492e3a888c
SRT: Refine the SRT socket code.
2022-06-14 20:02:24 +08:00
winlin
6c94e91792
SRT: Refine get_srt_poller to poller.
2022-06-14 20:02:24 +08:00
hondaxiao
b566182f0b
SRT: fix utest failed
2022-06-14 20:02:24 +08:00
hondaxiao
94fa0ff7bd
Refine SRT code, with StateThread adpater
2022-06-14 19:58:42 +08:00
winlin
3ed4aed824
Fix build failed.
2022-06-09 20:46:20 +08:00
winlin
fa78cf3354
Prefix with srs_protocol in protocol directory.
2022-06-09 20:26:58 +08:00
winlin
665ad564fb
Rename service to protocol files.
2022-06-09 19:59:51 +08:00
winlin
9385f2b80b
Merge branch '4.0release' into develop
2022-03-19 13:21:58 +08:00
winlin
41e35155f7
SRT: Compatible with previous auth querystring. #2908
2022-03-19 09:04:51 +08:00
loveforever
210cdf04be
SRT: url supports multiple QueryStrings ( #2908 )
...
* SRT: parse srt url to supports multiple QueryStrings.(#2893 )
* SRT: url supports multiple QueryStrings by comma-separated key-value pairs with no nesting (#2893 )
* SRT: url supports multiple QueryStrings by comma-separated key-value pairs with no nesting (#2893 )
* SRT: Add comments for url.
* Add utest for SRT URL parsing.
* Update README.
Co-authored-by: winlin <winlin@vip.126.com>
2022-03-19 08:24:06 +08:00
ChenGH
ab81696102
Bugfix: Fix rtcp nack blp encode bug ( #2966 ). v4.0.248
...
Co-authored-by: Winlin <winlin@vip.126.com>
2022-03-15 08:43:03 +08:00
ChenGH
70aa6b66bb
bugfix: fix rtcp nack blp encode bug ( #2966 )
...
Co-authored-by: Winlin <winlin@vip.126.com>
2022-03-15 08:40:06 +08:00
Haibo Chen
67ccd589c1
Security: Enable CIDR for allow/deny play/publish ( #2914 )
...
* protocol/utility: add srs_ipv4_to_num
* protocol/utility: add srs_ipv4_within_mask
* protocol/utility: add srs_get_cidr_mask and CIDR_VALUES static struct
* protocol/utility: add srs_get_cidr_ipv4
* app/security: support cidr ip ranges in allow/deny rules
* conf: update security example with cidr ranges
* Security: Enable CIDR for allow/deny play/publish
* Security: Enable CIDR for allow/deny play/publish
* Security: Enable CIDR for allow/deny play/publish
* fix compile error on centos6
Co-authored-by: Matheus Macabu <macabu.matheus@gmail.com>
2022-03-11 12:24:35 +08:00
chundonglinlin
03cf93fc2b
Forward: support config full rtmp url forward to other server ( #2799 )
...
* Forward: add backend config and demo server for dynamic create forwarder to other server.(#1342 )
* Forward: if call forward backend failed, then return directly.
* Forward: add API description and change return value format.
* Forward: add backend conf file and wrapper function for backend service.
* Forward: add backend comment in full.conf and update forward.backend.conf.
* Forward: rename backend param and add comment tips.
2022-02-16 10:49:16 +08:00
mapengfei53
fde44885d9
Support include directive for config file ( #2878 )
...
* Support include import configuration
* Remove support for regular rules
* Remove support for regular rules
* Fix configuration file parsing bug
* Added utest tests for include functionality
* Added utest tests for include functionality
* Modify the UTest function
* optimized code
* Config: Refine parse error with state
* Config: Reorder functions
* Config: Rename parsing type to context
* Config: Refine args for include
* Config: Add utests for include
* Config: Refine code, parsing recursively.
* Config: Change the mock from file to buffer
* Config: Mock buffer in config
* Config: Refine code
* Add utests for include
* Added utest for include
Co-authored-by: pengfei.ma <pengfei.ma@ngaa.com.cn>
Co-authored-by: winlin <winlin@vip.126.com>
2022-02-14 15:08:51 +08:00
Haibo Chen
290c3b95a5
Fix bug when the value of http header is empty ( #2888 )
...
* Fix bug when the value of http header is empty
* add utest
2022-02-03 15:06:06 +08:00
Haibo Chen
b94ce1485a
Fix bug when the value of http header is empty ( #2888 )
...
* Fix bug when the value of http header is empty
* add utest
2022-02-03 15:05:09 +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
f05e67e1a6
Squash: Fix bugs
2021-12-13 09:24:16 +08:00
long
4decc1fa6b
RTC: Fix nack encode seqnum ( #2766 )
...
* fix nack encode seqnum
* add nack encode utest
* change Variable naming
Co-authored-by: liyalong1 <liyalong1@100tal.com>
2021-12-06 12:42:39 +08:00
winlin
8576fa7052
Squash: Merge v4.0.203
2021-12-04 11:21:35 +08:00
john
f3c4023c25
Fix bugs for RTC2RTMP. ( #2768 )
...
1. Cache IDR frame's rtp timestamp instead of avsync timestamp.
2. Cache clock rate calculate by sender report.
3. Using srs_rtp_seq_distance instead of direct minus.
4. Add utest of av timestamp sync when duplicated sender report.
2021-12-04 11:15:02 +08:00
winlin
6cde9a0230
Squash: Guess config files by FHS
2021-11-07 18:53:21 +08:00
winlin
df7faa1603
For #2369 , #1708 , #1941 : Add utest to cover fail for close or stop
2021-11-04 08:47:40 +08:00
winlin
523b055c06
Squash: Support RPM. Fix bugs.
2021-11-04 07:37:17 +08:00
winlin
ab5079909d
For #2369 , #1708 , #1941 : Check errno when close fd or stop thread
2021-10-31 19:33:27 +08:00
winlin
665b5f48f7
Squash: JSON: Support escape special chars. ( #1758 )
2021-10-20 09:16:18 +08:00
xmedia-systems
34b968aabf
JSON: Support escape special chars. ( #1758 ) v4.0.182
2021-10-20 08:57:40 +08:00
Matheus Macabu
061d544195
RTMP: If port is explicity set to 0, use default 1935 ( #1754 ). v4.0.181
2021-10-19 08:24:37 +08:00
Matheus Macabu
9a017f4037
RTMP: If port is explicity set to 0, use default 1935 ( #1754 )
2021-10-19 08:20:28 +08:00
Haibo Chen
7fd5e8607c
DVR: support mp3 audio codec. ( #2593 ) v5.0.17
2021-10-16 14:06:43 +08:00
winlin
b874d9c9ba
Squash: Merge SRS 4.0, regression test for RTMP.
2021-10-12 08:36:24 +08:00
winlin
d6064ac608
UTest: Fix utest fail for config
2021-10-11 23:28:37 +08:00
winlin
a81aa2edc5
Squash: Merge SRS 4.0
2021-10-10 12:05:26 +08:00
winlin
2fa5a0bee8
Fix #2304 , Remove Push RTSP feature. v4.0.171
2021-10-10 11:50:07 +08:00
winlin
19e857ada4
Remove dead link for issues
2021-10-10 09:31:06 +08:00
Haibo Chen
36b813b971
Enhance HLS: support http callback on_play/stop, support statistic ( #2578 )
...
* Enhance HLS: support http callback on_play/stop, support statistic
* make code readable
* make code readable
* rename secret
2021-09-23 13:32:15 +08:00
Haibo Chen
f901831362
Enhance HLS: support http callback on_play/stop, support statistic ( #2578 )
...
* Enhance HLS: support http callback on_play/stop, support statistic
* make code readable
* make code readable
* rename secret
2021-09-23 13:31:45 +08:00
winlin
19c0a9eb4b
Suqash: Merge 4.0
2021-09-05 14:17:41 +08:00
ChenGH
3f94d26ca4
For #1920 , refine rtmp listen ip and port check ( #2581 )
2021-09-05 14:05:28 +08:00
ChenGH
714e182096
fix srs_string_replace deap loop when new_str inclue old_str ( #2580 )
2021-09-04 22:29:21 +08:00
Haibo Chen
c8bf98e8e2
Support for multiple SPS/PPS, then pick the first one. ( #2544 )
2021-08-27 07:32:02 +08:00
Haibo Chen
826f5121c5
Support for multiple SPS/PPS, then pick the first one. ( #2544 )
2021-08-27 07:27:33 +08:00
winlin
85620a34f5
Squash: Fix rtc to rtmp sync timestamp using sender report. #2470
2021-08-17 07:25:03 +08:00
john
ea8cff6163
RTC: Fix rtc to rtmp sync timestamp using sender report. ( #2470 )
...
* fix annotation spell failed
* RTC to RTMP using SenderReport to sync av timestamp
* update pion/webrtc versio from v3.0.4 -> v3.0.13, auto config sender/receiver report
* Add rtc push flv play regression test
* Add unit test of ntp and av sync time
* Take flag CXX to makefile of utest
* Add annotation about rtc unit test
* Fix compiler error in C++98
* Add FFmpeg log callback funciton.
2021-08-17 06:32:35 +08:00
Haibo Chen
86c67f7d95
RTC: Support statistic for HTTP-API, HTTP-Callback and Security ( #2483 ) v4.0.144
...
* commit message for your changes. Lines starting
* Update srs_app_rtc_api.cpp
* add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType
* Update srs_rtmp_stack.cpp
* Update srs_app_rtc_conn.cpp
* Update srs_app_rtc_api.cpp
* update utest
* Update srs_utest_app.cpp
2021-07-24 08:08:35 +08:00
Haibo Chen
0efd7b1bbc
RTC: Support statistic for HTTP-API, HTTP-Callback and Security ( #2483 )
...
* commit message for your changes. Lines starting
* Update srs_app_rtc_api.cpp
* add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType
* Update srs_rtmp_stack.cpp
* Update srs_app_rtc_conn.cpp
* Update srs_app_rtc_api.cpp
* update utest
* Update srs_utest_app.cpp
2021-07-24 08:05:10 +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
a1d7fe46c1
SquashSRS4: Rename SrsRtpPacket2 to SrsRtpPacket.
2021-05-15 08:53:54 +08:00
winlin
ddd7a378b1
Rename SrsRtpPacket2 to SrsRtpPacket. 4.0.111
2021-05-15 08:47:09 +08:00
winlin
6a980683f7
SquashSRS4: Remove object cache and stat api
2021-05-14 18:17:42 +08:00
winlin
ab0979a4ea
RTC: Remove DTLS utests, cover by regression test
2021-05-14 18:14:00 +08:00
winlin
717e811002
Change virtual public to public. 4.0.109
2021-05-14 09:13:15 +08:00
winlin
3256c7c2fa
SquashSRS4: Refine the init of global objects
2021-05-08 11:51:54 +08:00
winlin
f370259c9d
Fix build fail
2021-05-08 11:42:50 +08:00
winlin
b6f2745822
Refine init of global variables
2021-05-08 10:25:04 +08:00
winlin
ea1f32526a
RTC: Remove DTLS utest, cover by regression test
2021-04-27 18:54:10 +08:00
winlin
8b74c7cb89
SquashSRS4: Happy 2021
2021-04-16 09:29:43 +08:00
winlin
d01e603b25
Happy 2021
2021-04-16 09:25:55 +08:00
winlin
e74810230a
SquashSRS4: Regine DTLS and add regression tests. 4.0.84
2021-03-10 08:29:40 +08:00
winlin
62987aa01f
DTLS: Refine retransmit between ClientHello and Certificate.
2021-03-09 22:12:23 +08:00
winlin
dc93836489
SquashSRS4: Refine DTLS init, use specified API by role
2021-03-09 12:01:23 +08:00
winlin
3c6e466280
DTLS: Use specified init API, to decrease packet size
2021-03-09 11:54:27 +08:00
winlin
3bb1b673c5
Merge SRS4, lots of features
2021-03-04 14:49:03 +08:00
winlin
de87dd427d
Fix utest fail
2021-03-04 14:18:54 +08:00
winlin
6bacccd1b8
Fix utest fail
2021-02-19 18:54:16 +08:00
winlin
044df17791
Fix utest fail
2021-02-19 18:53:23 +08:00
winlin
37679f2acc
Fix utest fail
2021-02-19 11:18:42 +08:00
winlin
3147c8f9bc
Fix utest fail
2021-02-15 12:37:16 +08:00
winlin
6b260d6021
Fix utest fail
2021-02-10 16:17:01 +08:00
winlin
52609ea2f0
RTC: Use vector for fast search fast-id
2021-02-10 15:57:55 +08:00
winlin
152c161de3
Fix utest fail
2021-02-09 21:56:30 +08:00
winlin
3d34eb33e5
Fix utest fail
2021-02-07 22:11:35 +08:00
winlin
95193979f4
RTC: Use vector for fast search fast-id
2021-02-07 19:31:46 +08:00
winlin
b6843428c6
Fix build warnings
2021-01-08 14:09:28 +08:00
winlin
81d78310a0
Fix build warnings
2021-01-08 13:29:32 +08:00
winlin
61f62ceec6
Fix build warnings
2021-01-08 11:48:56 +08:00
winlin
473942c6f6
Kernel: Add utest for srs_string_split
2021-01-08 10:27:12 +08:00
winlin
bfa156247c
Merge branch '4.0release' into develop
2021-01-07 17:47:54 +08:00
winlin
1c41f5d796
Merge SRS3, change id of stat to string
2021-01-07 17:04:11 +08:00
winlin
fb7c051833
Change id from int to string for the statistics. 3.0.157
2021-01-07 16:47:49 +08:00
winlin
248085edfe
For #2109 , Add more utest for srs_string_split
2021-01-07 12:30:51 +08:00
winlin
155587d2c1
RTC: Fix parse error stap playload crash bug
2021-01-05 10:56:05 +08:00
winlin
4d18835f3c
Fix build fail
2020-12-21 10:37:33 +08:00
winlin
90b61ad952
Merge SRS4
2020-12-18 10:14:26 +08:00
winlin
5ebf034aea
For #1694 , Refine API for nb_bytes
2020-12-18 09:56:40 +08:00
winlin
c17474627b
Merge SRS3
2020-12-18 09:34:32 +08:00
winlin
25c76c1e8a
Fix #1694 , Support DVR 2GB+ MP4 file. 3.0.155
2020-12-17 18:43:45 +08:00
winlin
27db60cc23
Fix #1996 , Heap off-by-one in utest
2020-12-01 19:49:15 +08:00
莫战
b38f30c3ee
support query parsing and escape
2020-12-01 16:27:37 +08:00
莫战
dc7124cd05
support base64 encode
2020-12-01 16:04:55 +08:00
winlin
07c04a042a
URI: Refine uri parser
2020-11-10 18:51:21 +08:00
winlin
d67b050935
For #1657 , fix the jsonp bug
2020-11-05 17:57:22 +08:00
winlin
7c68487bf7
For #1657 , Fix utest fail
2020-11-03 17:04:05 +08:00
winlin
8c1eca98b0
Merge SRS3.0
2020-10-31 19:25:56 +08:00
winlin
86f8cbb5eb
Remove some global elements for debugging. 3.0.152
2020-10-31 18:01:16 +08:00
winlin
b348539687
Remove some global elements for debugging. 3.0.152
2020-10-31 17:53:00 +08:00
winlin
ba6462aab4
RTC: Refine DTLS ARQ, use step interval
2020-10-03 21:34:34 +08:00
winlin
e61391028e
RTC: Refine utest for DTLS
2020-10-03 20:10:42 +08:00
winlin
776f24cf3d
Refine resource manager, ignore unsubscribed handler
2020-10-02 09:13:41 +08:00
winlin
1a33452e95
Refine resource manager, fix loop and context switching bug
2020-09-20 22:09:03 +08:00
winlin
033e2f9210
Add utest for resource manager
2020-09-20 21:10:48 +08:00
winlin
4e2fca2b0f
Fix utest fail
2020-09-19 12:37:39 +08:00
winlin
8bf677e3c8
Refine code
2020-09-19 10:53:55 +08:00
winlin
64705d1cc8
RTC: Refine resouce management
2020-09-19 10:30:05 +08:00
winlin
f7faa13dc5
RTC: Cover connection manager coroutine switch when dispoing conn
2020-09-17 11:44:16 +08:00
winlin
dd7587c497
Dispose session when DTLS alert
2020-09-14 10:47:06 +08:00
winlin
86a80396de
Add utest for connection manager
2020-09-13 13:08:49 +08:00
winlin
72122c746a
Fix utest build fail
2020-09-13 11:01:34 +08:00
winlin
b095c15720
Fix utest fail
2020-08-30 11:55:18 +08:00
winlin
afd20563ad
Refine string dump to hex
2020-08-20 13:56:05 +08:00
winlin
036cc2a7a2
RTC: Limit the ARQ for DTLS
2020-08-19 21:28:06 +08:00