Commit Graph

63 Commits

Author SHA1 Message Date
Alessandro Ros
19dcd3e067 update golangci-lint (#292) 2023-05-28 13:40:00 +02:00
Alessandro Ros
b0947c133e move each goroutine in a dedicated struct (#285) 2023-05-17 21:14:00 +02:00
Alessandro Ros
a54a5946c7 add 32-bit tests; return errors in case of string-to-int overflows (#276) 2023-05-08 13:10:31 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
9f5ab03742 headers: simplify usage of Range 2022-11-20 11:33:49 +01:00
Jon Lech Johansen
76460d6404 Fix parsing of Transport header with multiple transports. (#145)
* Fix parsing of Transport header with multiple transports.

* Lint.

* Add test for Transport header with multiple transports.

* Filter out unsupported transports.

* Handle multicast properly when filtering out unsupported transports.

* Minor code cleanup.

* add Transports.Unmarshal(), add additional tests

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-11-09 12:00:33 +01:00
aler9
e99f799c07 client: support cameras with invalid SSRC in transport header
(https://github.com/aler9/rtsp-simple-server/issues/1118)
2022-08-29 14:51:32 +02:00
aler9
c6972424d6 avoid using encoding/binary 2022-07-17 14:54:04 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
1fd66bdaed fix parsing of transport headers with empty source (https://github.com/aler9/rtsp-simple-server/issues/986) 2022-06-11 11:54:51 +02:00
aler9
18f7fab361 update docs 2022-05-10 10:28:52 +02:00
aler9
d2380aeed1 fix transport header parsing with dahua rtsp server (#121) 2022-04-21 08:58:59 +02:00
Tristan Matthews
cb2d832086 transport: fallback to hostname lookup for source 2022-03-18 15:10:45 +01:00
Tristan Matthews
db823872d3 client: parse source from transport
Fixes #107
2022-03-18 15:10:45 +01:00
aler9
50f19e6653 fix transport header error with some Hikvision cameras
fixes 'invalid transport header: encoding/hex: invalid byte: U+0020 ' ''.
2022-01-05 11:54:03 +01:00
aler9
78bfa5d6a8 use require.EqualError() in tests 2021-11-03 17:52:45 +01:00
aler9
653b3ee993 update golangci-lint 2021-10-30 13:06:23 +02:00
aler9
61c39f9062 rename StreamProtocol and StreamDelivery into TransportProtocol and TransportDelivery 2021-10-22 17:59:36 +02:00
aler9
dbfc058f0c update golangci-lint 2021-09-09 23:05:50 +02:00
aler9
d8bf9b2307 improve coverage 2021-08-05 18:17:59 +02:00
aler9
ff8c485b11 headers: change Transport.Destination type to net.IP 2021-06-19 18:58:31 +02:00
aler9
3f3226b53d server: support reading with multicast 2021-06-17 16:45:24 +02:00
aler9
2c0d28ecb4 headers: support SSRCs with length < 4 (https://github.com/aler9/rtsp-simple-server/issues/396) 2021-05-29 22:23:07 +02:00
aler9
4f595a1d0d headers: support SSRCs with missing zeros (https://github.com/aler9/rtsp-simple-server/issues/396) 2021-05-29 19:19:27 +02:00
aler9
b4ac92dea8 headers: implement Range 2021-05-28 18:11:18 +02:00
aler9
f908a15a1e rename tests 2021-05-26 20:37:18 +02:00
aler9
41eec87259 headers: remove TransportMode.String() 2021-05-24 11:18:30 +02:00
aler9
94e69f9c7f update golangci-lint 2021-05-23 18:50:50 +02:00
aler9
53e8f32bd0 improve coverage 2021-05-22 17:18:09 +02:00
aler9
81dc9311c5 headers: restore coverage 2021-05-20 19:28:14 +02:00
aler9
d821107d27 headers: check 'protocol not found' error properly in Transport header 2021-05-20 19:23:33 +02:00
napieralla
7a5d3ce47b Remove error-tests that check for, now acceptable, value-less header-keys 2021-05-20 11:06:46 +02:00
napieralla
70c97b8843 Allow Transport.Read to parse messages where fields arrive in unconventional order by utilizing keyValParse to read all fields in message 2021-05-20 11:06:22 +02:00
napieralla
b99355c523 Allow keyValParse to parse and return keys with no value (empty string) 2021-05-20 11:05:27 +02:00
aler9
df4003f751 headers: add SSRC to Transport (#33) 2021-05-13 21:49:14 +02:00
aler9
8be64d9cf6 improve coverage 2021-05-12 16:16:43 +02:00
aler9
bc0d9d4bf2 headers: rename Auth into Authenticate 2021-05-11 10:27:24 +02:00
aler9
034c43202e headers: add authorization header 2021-05-10 20:43:23 +02:00
aler9
e51ee76d92 server: rewrite conn and session closing with contexts to improve reliability 2021-05-10 19:38:02 +02:00
aler9
df01c7049d headers: remove debug instruction 2021-05-05 23:05:24 +02:00
aler9
178fe919ea headers: fix case in which a missing key was not detected 2021-05-04 17:22:59 +02:00
aler9
c1cd32257f headers: add negative unit tests 2021-04-26 19:39:20 +02:00
aler9
49dfd34ede headers: add negative unit tests 2021-04-19 22:56:15 +02:00
Tristan Matthews
be5df0f7f7 keyval: log which key could not be found 2021-04-19 22:34:35 +02:00
aler9
14ce8dbc45 improve tests 2021-04-04 20:20:29 +02:00
aler9
5847b507d1 headers: merge parsing of key-values 2021-04-04 15:04:49 +02:00
aler9
cbb47e158a headers: ignore non-standard keys (https://github.com/aler9/rtsp-simple-server/issues/336) 2021-04-04 12:18:13 +02:00
aler9
ab6826e6a7 headers: support RTP-Infos with spaces (https://github.com/aler9/rtsp-simple-server/issues/333) 2021-04-02 18:12:56 +02:00
aler9
d39996c824 support RTP-Info headers with paths instead of URLs (https://github.com/aler9/rtsp-simple-server/issues/250) 2021-03-29 22:00:14 +02:00