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
c80220eb7c
webrtc: solve domains in webrtcAdditionalHosts on server-side ( #4817 ) ( #4866 )
2025-08-12 15:49:38 +02:00
Alessandro Ros
b627128d0f
remove context from webrtc.PeerConnection arguments ( #4854 )
...
contexts are useless since there's already PeerConnection.Close().
2025-08-12 15:19:59 +02:00
Alessandro Ros
5ae934887d
remove custom forks of pion/webrtc and pion/ice ( #4861 )
...
this fixes IPv6 reliability issues and allows to receive upstream
updates in a more linear way.
2025-08-12 14:30:08 +02:00
Alessandro Ros
03623799f5
use slices.Contains when possible ( #4859 )
2025-08-12 12:28:20 +02:00
Alessandro Ros
6d4dfff959
webrtc: fix clock rate of outgoing RTCP receiver reports ( #4852 )
2025-08-11 13:59:10 +02:00
dependabot[bot]
9e073cd34f
build(deps): bump github.com/bluenviron/gortsplib/v4 ( #4850 )
...
Bumps [github.com/bluenviron/gortsplib/v4](https://github.com/bluenviron/gortsplib ) from 4.16.0 to 4.16.1.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v4.16.0...v4.16.1 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v4
dependency-version: 4.16.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 11:05:29 +02:00
Alessandro Ros
eeb6ac3824
webrtc: re-enable ipv6 ( #3227 ) ( #4816 )
2025-08-02 23:32:48 +02:00
Alessandro Ros
548cdbeb8f
webrtc: fix crash introduced in #4795 ( #4814 )
2025-08-02 12:58:45 +02:00
Alessandro Ros
81abc2e008
webrtc: speed up candidate extraction ( #4801 )
2025-07-29 12:09:12 +02:00
Alessandro Ros
89e295eb4a
metrics: add additional WebRTC metrics ( #3304 ) ( #4797 )
...
webrtc_sessions_rtp_packets_received, webrtc_sessions_rtp_packets_sent,
webrtc_sessions_rtp_packets_lost, webrtc_sessions_rtp_packets_jitter,
webrtc_sessions_rtcp_packets_received,
webrtc_sessions_rtcp_packets_sent.
2025-07-29 11:17:12 +02:00
Alessandro Ros
534ea4d0c6
api: add additional WebRTC statistics ( #4795 )
...
rtpPacketsReceived, rtpPacketsSent, rtpPacketsLost, rtpPacketsJitter,
rtcpPacketsReceived, rtcpPacketsSent
2025-07-29 10:43:52 +02:00
Alessandro Ros
d423a71aaa
update linter settings ( #4790 )
2025-07-26 16:44:32 +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
3c703052f6
webrtc: fix writing tracks to some clients ( #4602 )
...
some clients require PayloadType to be unique among all tracks, not
only among tracks of same kind.
2025-06-03 16:23:38 +02:00
Alessandro Ros
823697210e
webrtc: fix race condition after #4558 ( #4564 )
2025-05-27 15:17:31 +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
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
416ac1357e
bump mediacommon and gortsplib ( #4364 )
2025-03-24 17:25:18 +01:00
Alessandro Ros
b329c4bbe8
replace New* with Initialize() ( #4345 )
2025-03-16 15:34:53 +01:00
Alessandro Ros
c692f3b78c
webrtc: rewrite WHIP client ( #4299 )
2025-03-01 17:01:57 +01:00
Alessandro Ros
aa101c680c
webrtc: make client always provide UDP candidates ( #4298 )
2025-03-01 16:52:59 +01:00
Alessandro Ros
5c6cf58d75
webrtc: fix connecting to TCP-only sources ( #4293 )
2025-03-01 11:07:50 +01:00
Alessandro Ros
244da930a1
switch to mediacommon/v2 ( #4259 )
2025-02-17 14:54:58 +01:00
Jean-Philippe Bergeron
e8297478f3
Configurable webrtcSTUNGatherTimeout ( #4221 )
2025-02-07 16:34:17 +01:00
Alessandro Ros
a1c6da84dc
webrtc: fix detecting closure of some sessions ( #4204 ) ( #4212 )
2025-02-01 13:43:57 +01:00
Alessandro Ros
e86a7a8217
webrtc: disable UDP when not needed ( #4176 )
2025-01-19 15:43:58 +01:00
Alessandro Ros
8f6267deb8
bump pion/webrtc to v4 ( #4145 )
2025-01-13 23:19:29 +01:00
Alessandro Ros
d4c29f8283
webrtc: switch to recvonly transceivers ( #4059 ) ( #4108 )
...
This fixes compatibility with devices that support decoding AV1 but
don't support encoding it.
This was previously impossible to achieve due to a bug that prevented
video from being displayed when recvonly transceivers were in use and
audio was not present.
2025-01-04 16:36:03 +01:00
Alessandro Ros
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros
72a8b3ca8a
webrtc: support publishing and reading H265 tracks ( #4003 )
2024-12-02 23:55:54 +01:00
Andres Uribe
f8b366c604
webrtc: restart ICE only on failed connection states ( #3899 )
...
* webrtc: Restart ICE only on failed connection states
* rename "connected" into "ready" since WebRTC can emit the "connected" state multiple times
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2024-10-31 12:47:35 +01:00
Alessandro Ros
23002d9f5f
route original timestamps without converting to durations ( #3839 )
...
This improves timestamp precision.
2024-10-07 17:59:32 +02:00
Alessandro Ros
2586782031
fix race condition in tests ( #3834 )
2024-10-05 21:54:11 +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
1e30dcb555
webrtc: fix crash in case of congestion ( #3813 ) ( #3815 )
2024-09-29 09:56:06 +02:00
Alessandro Ros
658848f8c8
log track ID when skipping tracks ( #3798 )
2024-09-26 14:42:48 +02:00
Alessandro Ros
471019f606
warn users about skipped tracks when reading or publishing ( #3753 )
2024-09-15 19:28:05 +02:00
Alessandro Ros
6a38c87a5b
hls, webrtc: add FromStream / ToStream ( #3752 )
2024-09-09 12:59:23 +02:00
Alessandro Ros
e6653857aa
rtmp: support ingesting AV1, VP9, H265, MP3, PCM from other servers ( #3751 )
2024-09-09 12:26:35 +02:00
Alessandro Ros
a1dc9f45f5
webrtc: support publishing H265 tracks ( #3435 ) ( #3492 )
...
IMPORTANT NOTE: this doesn't allow to read H265 tracks with WebRTC,
just to publish them. The inability to read H265 tracks with WebRTC is
not in any way related to the server but depends on browsers and on the
fact that they are not legally entitled to embed a H265 decoder inside
them.
2024-06-19 21:02:08 +02:00
Alessandro Ros
427249877c
webrtc: fix error "Failed to setup RTCP mux" on some readers ( #3381 ) ( #3449 )
2024-06-10 15:43:52 +02:00
Alessandro Ros
095921dc26
webrtc: on browsers, display error messages from server ( #3448 )
2024-06-10 15:41:05 +02:00
Alessandro Ros
5fe2819546
webrtc: set fmtp of outgoing VP9 and multiopus tracks ( #3446 )
2024-06-10 09:54:08 +02:00
Alessandro Ros
511b276b4d
webrtc: support reading G711 16khz tracks ( #2848 ) ( #3445 )
2024-06-10 00:57:26 +02:00
Alessandro Ros
44953c8e05
webrtc: fix supported AV1 profiles ( #3442 )
2024-06-09 23:09:55 +02:00
Alessandro Ros
d7bc304e52
webrtc: speed up gathering of incoming tracks ( #3441 )
2024-06-09 22:58:40 +02:00