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 )
...
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
wait for all routines to exit before assuming a WebRTC connection is closed.
2025-05-26 11:33:46 +02:00
Alessandro Ros
fff3b9b315
record: fix loss of audio samples during segment switch ( #4556 )
2025-05-25 21:29:33 +02:00
Alessandro Ros
fad64a87bd
bump golangci-lint ( #4550 )
2025-05-23 15:10:21 +02:00
Alessandro Ros
1b9dfbd367
rtmp: support connecting to sources that require standard credentials ( #4530 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
2025-05-15 14:23:03 +02:00
Alessandro Ros
3b3b898358
fix error message ( #4522 )
2025-05-12 22:10:13 +02:00
Alessandro Ros
c17a6de2a6
parse HTTP username and password OR token, not both ( #4517 )
2025-05-11 10:20:57 +02:00
Alessandro Ros
f97213ae6e
support passing JWTs through the password field ( #4516 )
...
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_e2e (push) Waiting to run
This is safer than passing JWTs through query parameters, unfortunately support is limited.
2025-05-10 22:54:24 +02:00
Alessandro Ros
a85d8f1391
rtmp: fix connect command when reading ( #4512 )
...
when reading, the "connect" command should not contain fpad,
capabilities, audioCodecs, videoCodecs, videoFunction.
2025-05-10 15:26:48 +02:00
Alessandro Ros
15fff95246
ensure unmarshaled entities can be marshaled back ( #4484 )
2025-05-04 11:34:05 +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
8b98c02903
rtsp: route original absolute timestamp of packets ( #1300 ) ( #4378 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-03-29 19:08:42 +01:00
Alessandro Ros
4bbedc4955
hls: fix reading streams with non-standard clock rates ( #4376 )
2025-03-29 17:14:02 +01:00
Alessandro Ros
ee8a47844a
hls: fix race condition when getting absolute time ( #4375 )
2025-03-29 17:10:31 +01:00
Alessandro Ros
60cabeea92
hls: support routing absolute timestamps ( #1300 ) ( #4372 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-03-27 22:18:13 +01:00
Alessandro Ros
986e270862
count and log all discarded frames, decode errors, lost packets ( #4363 )
...
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
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 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-02-17 14:54:58 +01:00
dependabot[bot]
b66efd66da
build(deps): bump github.com/bluenviron/gortsplib/v4 ( #4236 )
...
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
Bumps [github.com/bluenviron/gortsplib/v4](https://github.com/bluenviron/gortsplib ) from 4.12.2 to 4.12.3.
- [Commits](https://github.com/bluenviron/gortsplib/compare/v4.12.2...v4.12.3 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/gortsplib/v4
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-02-07 20:19:14 +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 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2025-02-01 13:43:57 +01:00
dependabot[bot]
c6a9d81d4c
build(deps): bump github.com/bluenviron/mediacommon ( #4193 )
...
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
Bumps [github.com/bluenviron/mediacommon](https://github.com/bluenviron/mediacommon ) from 1.13.4-0.20250119173005-20b296ab1174 to 1.13.4.
- [Commits](https://github.com/bluenviron/mediacommon/commits/v1.13.4 )
---
updated-dependencies:
- dependency-name: github.com/bluenviron/mediacommon
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-01-24 11:04:08 +01:00
Alessandro Ros
5bb751a4c8
hls: fix reading AV1 from OBS+WHIP ( #3886 ) ( #4177 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-01-19 18:40:18 +01:00
Alessandro Ros
e86a7a8217
webrtc: disable UDP when not needed ( #4176 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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
070ea5fc19
rtmp: fix compatibility with DJI Osmo Action 4 ( #3802 ) ( #4116 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-01-07 17:36:31 +01:00
Alessandro Ros
6d7d0e6e21
fix documentation ( #4110 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2025-01-05 12:02:04 +01:00
Alessandro Ros
d4c29f8283
webrtc: switch to recvonly transceivers ( #4059 ) ( #4108 )
...
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
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
8cbbbc05c3
rtmp: support additional Enhanced-RTMP features ( #3685 ) ( #4088 )
...
new features:
* support publishing Opus and AC-3 tracks
* support publishing more than 2 tracks. This is compatible with OBS multitrack video and OBS VOD audio track
2025-01-02 12:44:01 +01:00
Alessandro Ros
770d72b638
rtmp: support Extended Metadata Frames ( #4006 ) ( #4014 ) ( #4018 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-12-04 23:29:16 +01:00
Alessandro Ros
72a8b3ca8a
webrtc: support publishing and reading H265 tracks ( #4003 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-12-02 23:55:54 +01:00
Andres Uribe
f8b366c604
webrtc: restart ICE only on failed connection states ( #3899 )
...
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
* 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
d13dc1074a
make better use of Gin middleware system ( #3849 )
2024-10-08 17:02:16 +02: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 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 21:54:11 +02:00
Alessandro Ros
4c3ac34425
fix memory leak in case of errors during initialization of a reader ( #3831 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-10-05 00:49:44 +02:00
Alessandro Ros
4d0ce87f09
hls: support generating streams with multiple audio tracks ( #2728 ) ( #3793 )
2024-10-03 19:38:54 +02:00
Alessandro Ros
1e30dcb555
webrtc: fix crash in case of congestion ( #3813 ) ( #3815 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-29 09:56:06 +02:00
Alessandro Ros
658848f8c8
log track ID when skipping tracks ( #3798 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-09-26 14:42:48 +02:00
Alessandro Ros
783fede2cb
remove debug lines ( #3771 )
2024-09-15 22:52:55 +02:00
Alessandro Ros
471019f606
warn users about skipped tracks when reading or publishing ( #3753 )
code_lint / golangci_lint (push) Waiting to run
code_lint / mod_tidy (push) Waiting to run
code_lint / api_docs (push) Waiting to run
code_test / test_64 (push) Waiting to run
code_test / test_32 (push) Waiting to run
code_test / test_highlevel (push) Waiting to run
2024-09-15 19:28:05 +02:00
Alessandro Ros
6a38c87a5b
hls, webrtc: add FromStream / ToStream ( #3752 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
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
c5059fa7a0
move RPI Camera component into dedicated repository ( #3656 )
code_lint / golangci_lint (push) Has been cancelled
code_lint / mod_tidy (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_highlevel (push) Has been cancelled
2024-08-14 23:24:17 +02:00