Commit Graph

41 Commits

Author SHA1 Message Date
Alessandro Ros
e3b8af8933 switch to gortsplib/v5 (#4978) 2025-09-16 13:10:34 +02:00
Alessandro Ros
e0f4748839 modernize code (#4947) 2025-09-07 16:08:47 +02:00
Alessandro Ros
0b901ade3e remove PathManager.StartPublisher and StopPublisher (#4766)
simplify path manager usage.
2025-07-21 13:52:55 +02:00
Alessandro Ros
1083eea307 make RTP packet size compatible with RTSP/SRTP (#4692)
when RTSP encryption is enabled, maximum RTP packet size is slightly
decreased to make room for SRTP.
2025-07-05 15:42:58 +02:00
Alessandro Ros
5d203b4d98 webrtc: prevent routine leaks (#4558)
wait for all routines to exit before assuming a WebRTC connection is closed.
2025-05-26 11:33:46 +02:00
Alessandro Ros
f97213ae6e support passing JWTs through the password field (#4516)
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros
77a3c7ae6e webrtc: route original absolute timestamp of packets (#1300) (#4415) 2025-04-12 11:34:27 +02:00
Alessandro Ros
49bcd35afd bump gortsplib (#4416) 2025-04-12 11:29:37 +02:00
Alessandro Ros
986e270862 count and log all discarded frames, decode errors, lost packets (#4363)
Discarded frames, decode errors and lost packets were logged
individually, then there was a mechanism that prevented more than 1 log
entry per second from being printed, resulting in inaccurate reports.

Now discarded frames, decode errors and lost packets are accurately
counted, and their count is printed once every second.
2025-03-25 21:59:58 +01:00
Alessandro Ros
b329c4bbe8 replace New* with Initialize() (#4345) 2025-03-16 15:34:53 +01:00
Alessandro Ros
371b9585a6 change error message when stream is not found (#4301)
Switch from 'no one is publishing to path' to 'no stream is available
on path' since the stream might be provided from a static source too.
2025-03-03 18:09:22 +01:00
Alessandro Ros
c692f3b78c webrtc: rewrite WHIP client (#4299) 2025-03-01 17:01:57 +01:00
Jean-Philippe Bergeron
e8297478f3 Configurable webrtcSTUNGatherTimeout (#4221) 2025-02-07 16:34:17 +01:00
Alessandro Ros
8f6267deb8 bump pion/webrtc to v4 (#4145) 2025-01-13 23:19:29 +01:00
Alessandro Ros
8f04264fe5 webrtxc: fix MTX_QUERY not set when reading or publishing (#4138) (#3937) (#4141) 2025-01-11 17:29:48 +01:00
Alessandro Ros
b49acb1e00 accept durations expressed as days (i.e. '1d') (#4094) 2025-01-02 12:44:15 +01:00
Alessandro Ros
1a6547f13b restore pprof service (#3848) (#3851) 2024-10-08 17:06:47 +02:00
Alessandro Ros
2586782031 fix race condition in tests (#3834) 2024-10-05 21:54:11 +02:00
Alessandro Ros
534b637bc7 support using JWT in Authorization header with API, Metrics, PProf (#3630) (#3795) 2024-10-05 21:15:21 +02:00
Alessandro Ros
4c3ac34425 fix memory leak in case of errors during initialization of a reader (#3831) 2024-10-05 00:49:44 +02:00
Alessandro Ros
6a38c87a5b hls, webrtc: add FromStream / ToStream (#3752) 2024-09-09 12:59:23 +02:00
Alessandro Ros
3f1d182d2c fix support for HTTP preflight requests (#1792) (#3535) 2024-07-06 21:45:15 +02:00
Alessandro Ros
39ae1269ad webrtc: support passing username and password through Bearer Token (#3248) (#3459) 2024-06-11 23:37:59 +02:00
Alessandro Ros
caa9fa6ca0 webrtc, hls: support passing JWT through Authorization header (#3248) (#3458) 2024-06-11 23:33:01 +02:00
Alessandro Ros
d0c8e89223 fix webrtc/G722 tests (#3444) 2024-06-10 10:15:25 +02:00
Alessandro Ros
511b276b4d webrtc: support reading G711 16khz tracks (#2848) (#3445) 2024-06-10 00:57:26 +02:00
Alessandro Ros
427fea30ed fix webrtc/VP9 tests (#3443) 2024-06-09 23:18:47 +02:00
Alessandro Ros
eaf47e6598 webrtc: support reading, publishing, proxying LPCM tracks (#3437) 2024-06-09 22:51:16 +02:00
Alessandro Ros
ca6e1259fb webrtc: support reading and proxying stereo PCMU/PCMA tracks (#3402) 2024-06-02 23:08:54 +02:00
Jason Walton
1c2f95f609 webrtc: allow configuring timeouts (#3404) (#3406)
* webrtc: allow configuring timeouts (#3404)

* fix from code inspect
2024-05-30 13:36:58 +02:00
Alessandro Ros
407702380a webrtc: in answer, include codecs that are actually in use (#3374) 2024-05-19 19:41:42 +02:00
Alessandro Ros
d21506182b webrtc: fix returning code 404 when a stream does not exist (#3369) 2024-05-19 13:46:47 +02:00
Rafael Scheidt
2bd8ac7e19 fix support for JWT authentication in API, metrics, playback, pprof (#3253)
Co-authored-by: Rafael Scheidt <rafaelscheidt@Rafaels-MacBook-Air.local>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-18 23:55:48 +02:00
Alessandro Ros
a18bebfa58 webrtc: unexport WHIP primitives (#3233) 2024-04-13 11:08:30 +02:00
Alessandro Ros
a6cc52f0b2 webrtc: return 404 in case a WHIP PATCH or WHIP DELETE request fails (#3232) 2024-04-13 11:04:45 +02:00
Alessandro Ros
9ce12ffa4a fix race condition in WebRTC tests (#3204) 2024-04-07 22:46:24 +02:00
Dan Bason
87c0535823 Add option for ICE servers to be client only (#3164)
* Add option for ICE servers to be client only

* add clientOnly to configuration file and API docs

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-06 18:32:53 +02:00
Alessandro Ros
24cc62e344 hls: decrease number of idle connections kept open after a reconnection (#3128) 2024-03-10 11:51:15 +01:00
Alessandro Ros
9c6ba7e2c7 New authentication system (#1341) (#1992) (#2205) (#3081)
This is a new authentication system that covers all the features exposed by the server, including playback, API, metrics and PPROF, improves internal authentication by adding permissions, improves HTTP-based authentication by adding the ability to exclude certain actions from being authenticated, adds an additional method (JWT-based authentication).
2024-03-04 14:20:34 +01:00
Alessandro Ros
c7bdcea741 move RTSP tests into internal/servers/rtsp (#3049) 2024-02-20 19:35:35 +01:00
Alessandro Ros
34dbcfb508 move WebRTC tests into internal/servers/webrtc (#3043) 2024-02-18 22:15:08 +01:00