Commit graph

56 commits

Author SHA1 Message Date
Alessandro Ros
80a133afc9
bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
Jacob Su
3a2594d610
rtmp: fix error when publishing AAC audio tracks (#3414)
* fix single aac file rtmp publish error.

* add tests

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-06-11 13:26:45 +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
Alessandro Ros
eaf47e6598
webrtc: support reading, publishing, proxying LPCM tracks (#3437) 2024-06-09 22:51:16 +02:00
Alessandro Ros
16d0bb7200
webrtc: fix proxying PCMU tracks (#3427) 2024-06-05 12:46:55 +02:00
Alessandro Ros
ca1638976b
webrtc: support reading and publishing multichannel Opus (#3371) (#3375) 2024-06-03 00:26:32 +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
e283725cde
support routing multichannel Opus between RTSP, SRT, HLS, UDP and recording in MPEG-TS and fMP4 (#3355) (#3368) 2024-05-19 14:38:57 +02:00
Alessandro Ros
5d0ebdef56
webrtc: fix error when charset is in Content-Type (#3126) (#3318) 2024-05-05 10:47:12 +02:00
xjr20042
8b51ca9c8b
rtmp: fix error when reading metadata (#3302)
some rtmp client will send set chunk size after publish stream
2024-04-29 21:49:38 +02:00
Alessandro Ros
1204f76eb7
update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Alessandro Ros
85dd81698b
support HTTPS, Allow-Origin and trusted proxies in API, playback server, metrics server and pprof server (#2658) (#2491) (#3235) (#3280) 2024-04-21 17:10:35 +02:00
Alessandro Ros
bfa83fcd33
webrtc: support WHIP/WHEP endpoints without PATCH support (#3273) (#3277) 2024-04-20 23:55:35 +02:00
FuseTim
4ed1a39da2
webrtc: support charset in Content-Type of WHIP offer responses (#3274) 2024-04-20 23:24:19 +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
665e11a376
webrtc, hls: use absolute paths in Location header (#3195) (#3177) (#3240) 2024-04-14 12:04:51 +02:00
Alessandro Ros
a18bebfa58
webrtc: unexport WHIP primitives (#3233) 2024-04-13 11:08:30 +02:00
Alessandro Ros
4354535a94
webrtc: fix crash when marshaling ICE fragments (#3231) 2024-04-13 10:47:26 +02:00
Pedro Sánchez
8aa26d6fb3
rtmp: fix streaming errors by handling AMF0 strict arrays (#3188) (#3189)
* add amf0 strict array decode

* add amf0 long string decode

* support amf0 types undefined, unsupported, xmldocument and date

* fix error and add tests

* modify tests to follow original way to test

* do not skip markerUnsupported / markerUndefined

* implement StrictArray marshaling; remove handling of long strings, XML documents, date

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-04-12 16:13:57 +02:00
Alessandro Ros
a50642c669
improve record tests (#3216) 2024-04-09 09:36:38 +02:00
Alessandro Ros
c7dbb951f3
update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
Jonathan Martin
1989997fe1
webrtc: fix memory leak when WHEP track gathering fails and decrease count of idle HTTP connections (#3124)
* fix: whep gathering failure leaks peer connections

* fix: failure to create whep client leaks

when read fails, client is not closed

* fix: close idle connection with whip client

* fix: no link check on early whip client close

* move http.Client.CloseIdleConnections() outside WHIPClient

* automatically call WHEPClient.Close() in case of errors during WHEPClient.Read() or WHEPClient.Publish()

---------

Co-authored-by: Jonathan Martin <jonathan.martin@marss.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-03-10 11:33:00 +01:00
Jonathan Martin
732bf565bf
webrtc: fix deadlock when a WHEP source fails (#3062) (#3108) (#3110)
Co-authored-by: Jonathan Martin <jonathan.martin@marss.com>
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2024-03-06 22:38:36 +01:00
Alessandro Ros
b6db3121b5
rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro Ros
da7c5744b1
rtmp: add new AMF0 encoder and encoder (#3069)
This improves performance, security and removes a dependency.
2024-02-24 19:11:42 +01:00
Alessandro Ros
a52f550ee6
webrtc: return an error when proxying stream with no tracks (#3042) 2024-02-18 21:58:11 +01:00
Alessandro Ros
b6eaa6bc18
move test utilities into 'test' (#3016)
* move test utilities into 'test'

* rename newEmptyTimer into emptyTimer
2024-02-13 18:49:27 +01:00
Alessandro Ros
3161e73a58
rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00
Alessandro Ros
487f92ac55
hls: in logs, store both ip and port of incoming requests (#3013) 2024-02-12 22:44:44 +01:00
Alessandro Ros
22a589b724
stop logging HTTP requests twice (#2993) 2024-02-05 22:26:33 +01:00
Alessandro Ros
0f733bab26
add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro Ros
f8a56aae91
rtmp: simplify Audio message structure (#2924) 2024-01-21 16:29:13 +01:00
Alessandro Ros
cd2495423a
do not wait for HTTP connections to close when shutting down the server (#2909) 2024-01-15 17:54:52 +01:00
Alessandro Ros
20bb9b90cd
support G711 tracks with multiple channels and custom sample rates (#2891) 2024-01-13 11:40:26 +01:00
Alessandro Ros
27975d8b67
rtmp: support publishing G711 and LPCM tracks (#2857) (#2884) 2024-01-07 17:02:22 +01:00
Alessandro Ros
7437ee7a09
update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00
Alessandro Ros
89560c19a0
rtmp: fix parsing error caused by extended timestamps (#2393) (#2556) (#2384) (#1550) (#2564) (#2808) 2023-12-16 17:17:42 +01:00
Alessandro Ros
0c131a2e92
rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +01:00
Alessandro Ros
22414bb38c
rtmp: return error in case of extended chunk stream IDs (#2806) 2023-12-14 11:38:47 +01:00
Alessandro Ros
11988249df
move servers into internal/servers (#2792) 2023-12-08 19:17:17 +01:00
Alessandro Ros
3e12f83732
hls, webrtc: fix appending slash to paths that contain slashes (#2773) 2023-12-01 21:14:45 +01:00
Alessandro Ros
aade2eedb9
hls, webrtc: prevent XSS attack when appending slash to paths (#2766) (#2767) (#2772) 2023-12-01 20:54:18 +01:00
Alessandro Ros
0e5e3324a7
rpicamera: allow to change bitrate and IDR period dynamically (#2703) (#2764) 2023-11-30 21:43:19 +01:00