Commit Graph
60 Commits
Author SHA1 Message Date
Alessandro RosandGitHub c9a938a501 improve fuzz tests (#3596) 2024-08-01 17:01:56 +02:00
Alessandro RosandGitHub 0230aa0a9c record, hls: fix panic with MPEG-4 audio tracks without config (#3590) (#3594) 2024-08-01 16:34:40 +02:00
Alessandro RosandGitHub afec0cd86c rtmp: fix publishing from DJI FlightHub Sync (#3301) (#3504) 2024-07-01 16:03:12 +02:00
Alessandro RosandGitHub 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 RosandGitHub 80a133afc9 bump dependencies (#3457) 2024-06-11 22:43:27 +02:00
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 RosandGitHub 427249877c webrtc: fix error "Failed to setup RTCP mux" on some readers (#3381) (#3449) 2024-06-10 15:43:52 +02:00
Alessandro RosandGitHub 095921dc26 webrtc: on browsers, display error messages from server (#3448) 2024-06-10 15:41:05 +02:00
Alessandro RosandGitHub 5fe2819546 webrtc: set fmtp of outgoing VP9 and multiopus tracks (#3446) 2024-06-10 09:54:08 +02:00
Alessandro RosandGitHub 511b276b4d webrtc: support reading G711 16khz tracks (#2848) (#3445) 2024-06-10 00:57:26 +02:00
Alessandro RosandGitHub 44953c8e05 webrtc: fix supported AV1 profiles (#3442) 2024-06-09 23:09:55 +02:00
Alessandro RosandGitHub d7bc304e52 webrtc: speed up gathering of incoming tracks (#3441) 2024-06-09 22:58:40 +02:00
Alessandro RosandGitHub eaf47e6598 webrtc: support reading, publishing, proxying LPCM tracks (#3437) 2024-06-09 22:51:16 +02:00
Alessandro RosandGitHub 16d0bb7200 webrtc: fix proxying PCMU tracks (#3427) 2024-06-05 12:46:55 +02:00
Alessandro RosandGitHub ca1638976b webrtc: support reading and publishing multichannel Opus (#3371) (#3375) 2024-06-03 00:26:32 +02:00
Alessandro RosandGitHub ca6e1259fb webrtc: support reading and proxying stereo PCMU/PCMA tracks (#3402) 2024-06-02 23:08:54 +02:00
Jason WaltonandGitHub 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 RosandGitHub 407702380a webrtc: in answer, include codecs that are actually in use (#3374) 2024-05-19 19:41:42 +02:00
Alessandro RosandGitHub 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 RosandGitHub 5d0ebdef56 webrtc: fix error when charset is in Content-Type (#3126) (#3318) 2024-05-05 10:47:12 +02:00
xjr20042andGitHub 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 RosandGitHub 1204f76eb7 update golangci-lint (#3300) 2024-04-28 18:20:08 +02:00
Alessandro RosandGitHub 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 RosandGitHub bfa83fcd33 webrtc: support WHIP/WHEP endpoints without PATCH support (#3273) (#3277) 2024-04-20 23:55:35 +02:00
FuseTimandGitHub 4ed1a39da2 webrtc: support charset in Content-Type of WHIP offer responses (#3274) 2024-04-20 23:24:19 +02:00
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 RosandGitHub 665e11a376 webrtc, hls: use absolute paths in Location header (#3195) (#3177) (#3240) 2024-04-14 12:04:51 +02:00
Alessandro RosandGitHub a18bebfa58 webrtc: unexport WHIP primitives (#3233) 2024-04-13 11:08:30 +02:00
Alessandro RosandGitHub 4354535a94 webrtc: fix crash when marshaling ICE fragments (#3231) 2024-04-13 10:47:26 +02:00
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 RosandGitHub a50642c669 improve record tests (#3216) 2024-04-09 09:36:38 +02:00
Alessandro RosandGitHub c7dbb951f3 update golangci-lint (#3149) 2024-03-19 12:53:26 +01:00
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
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 RosandGitHub b6db3121b5 rtsp: add random value to timestamp of tracks from other protocols (#3071) 2024-02-26 00:41:05 +01:00
Alessandro RosandGitHub 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 RosandGitHub a52f550ee6 webrtc: return an error when proxying stream with no tracks (#3042) 2024-02-18 21:58:11 +01:00
Alessandro RosandGitHub 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 RosandGitHub 3161e73a58 rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00
Alessandro RosandGitHub 487f92ac55 hls: in logs, store both ip and port of incoming requests (#3013) 2024-02-12 22:44:44 +01:00
Alessandro RosandGitHub 22a589b724 stop logging HTTP requests twice (#2993) 2024-02-05 22:26:33 +01:00
Alessandro RosandGitHub 0f733bab26 add rpiCameraAWBGains (#2858) (#2954) 2024-01-28 21:48:21 +01:00
Alessandro RosandGitHub f8a56aae91 rtmp: simplify Audio message structure (#2924) 2024-01-21 16:29:13 +01:00
Alessandro RosandGitHub cd2495423a do not wait for HTTP connections to close when shutting down the server (#2909) 2024-01-15 17:54:52 +01:00
Alessandro RosandGitHub 20bb9b90cd support G711 tracks with multiple channels and custom sample rates (#2891) 2024-01-13 11:40:26 +01:00
Alessandro RosandGitHub 27975d8b67 rtmp: support publishing G711 and LPCM tracks (#2857) (#2884) 2024-01-07 17:02:22 +01:00
Alessandro RosandGitHub 7437ee7a09 update golangci-lint (#2868) 2024-01-03 21:13:20 +01:00
Alessandro RosandGitHub 89560c19a0 rtmp: fix parsing error caused by extended timestamps (#2393) (#2556) (#2384) (#1550) (#2564) (#2808) 2023-12-16 17:17:42 +01:00
Alessandro RosandGitHub 0c131a2e92 rpi: pass log level to libcamera (#2617) (#2811) 2023-12-15 12:10:16 +01:00
Alessandro RosandGitHub 22414bb38c rtmp: return error in case of extended chunk stream IDs (#2806) 2023-12-14 11:38:47 +01:00