Commit Graph

75 Commits

Author SHA1 Message Date
aler9
649c63cf5b client: allow bidirectional communication with multicast 2021-06-26 13:25:38 +02:00
aler9
a512762ba0 server: support setupping tracks with arbitrary interleaved IDs (#47) 2021-06-26 12:51:45 +02:00
Daniel Mack
8062cfdf42 Add support for charset information in content-type header
Altough not explicitly allowed by RFC2326, some servers respond with
a `Content-Type` header field that contains charset information as
described in RFC2616 (sec 14.17).

The parser currently fails to read from such connections and bails
with

  `unsupported Content-Type header '[application/sdp; charset=utf-8]'`

Change this by ignoring everything after a semicolon.
2021-06-25 19:05:40 +02:00
aler9
dde57ee568 remove ID and BaseURL from Track 2021-06-23 23:07:55 +02:00
aler9
d073a185c2 client: allow to publish tracks with pre-existing control attribute (#48) 2021-06-23 22:03:22 +02:00
aler9
a585634532 client: always set Range header inside PLAY requests, fixing compatibility with Parrot Streaming Server (https://github.com/aler9/rtsp-simple-server/issues/413) 2021-06-22 22:52:48 +02:00
aler9
aeaa200638 client: fix reading with multicast 2021-06-19 21:13:08 +02:00
aler9
ff8c485b11 headers: change Transport.Destination type to net.IP 2021-06-19 18:58:31 +02:00
aler9
9595e298f8 client: support reading with UDP-multicast 2021-06-18 17:47:25 +02:00
aler9
f80faf5ac5 client: tidy up 2021-06-16 21:37:23 +02:00
aler9
aeb1958bc1 remove StreamProtocol from root 2021-06-05 23:17:10 +02:00
aler9
363871d658 client: support server_port=0-1 (https://github.com/aler9/rtsp-simple-server/issues/407) 2021-06-03 23:41:39 +02:00
aler9
d07e93f245 auth: simplify 2021-05-30 12:52:46 +02:00
aler9
9007f20af8 client: fix authentication during SETUP, preventing 401s during protocol switches (https://github.com/aler9/rtsp-simple-server/issues/392) 2021-05-30 12:00:35 +02:00
aler9
150c03a05e client: support servers that send frames with a frequency lower than 1sec 2021-05-29 19:10:58 +02:00
aler9
e9ef8d739f client: add clientconn.Seek() 2021-05-28 18:11:18 +02:00
aler9
a9995fb228 client: add range argument to clientconn.Play() 2021-05-28 18:11:18 +02:00
aler9
94e69f9c7f update golangci-lint 2021-05-23 18:50:50 +02:00
aler9
c6ff1e0d02 client: remove RTPInfo() 2021-05-16 15:47:29 +02:00
aler9
c878b68b70 fix various race conditions 2021-05-10 21:33:23 +02:00
aler9
ae3e3b19c0 client: add RTPInfo() 2021-05-10 20:58:18 +02:00
aler9
e51ee76d92 server: rewrite conn and session closing with contexts to improve reliability 2021-05-10 19:38:02 +02:00
aler9
e75b14c608 client: add DialReadContext, DialPublishContext 2021-05-10 18:11:41 +02:00
aler9
c7bdded8f0 client: apply context to connOpen 2021-05-10 18:04:26 +02:00
aler9
5eb82448a7 client: remove channel from ReadFrames() 2021-05-10 17:59:49 +02:00
aler9
510bcfe2d7 client: simplify tests 2021-05-10 17:29:24 +02:00
aler9
f8ef945dae client: allow to call client.Close() always 2021-05-10 17:18:41 +02:00
aler9
a8c6af39e3 split configuration into sections 2021-05-07 15:34:54 +02:00
aler9
8846b9f5f5 rename ClientConf into Client 2021-05-04 16:51:20 +02:00
aler9
805d578b6c fix inversion of track data that happened randomly in case of multiple tracks (https://github.com/aler9/rtsp-simple-server/issues/353) 2021-04-17 19:48:00 +02:00
aler9
fc3d84be56 client: apply TCP timeout correctly (https://github.com/aler9/rtsp-simple-server/issues/335) 2021-04-04 19:40:21 +02:00
aler9
1a229e1385 client: fix automatic protocol switching when publishing 2021-04-03 17:35:32 +02:00
aler9
1f8d7a9ae7 client: build track URLs by using Content-Base, when provided by server 2021-04-03 16:23:14 +02:00
aler9
0e6811a178 client: allow calling ReadFrames() when publishing 2021-03-28 22:05:24 +02:00
aler9
1c88a7fee9 client: allow calling WriteFrame() when reading 2021-03-28 17:59:55 +02:00
aler9
4c5742354c client: move all track related variables under clientConnTrack 2021-03-28 17:05:38 +02:00
aler9
2ed4b079e8 server: add new test 2021-03-28 16:04:29 +02:00
aler9
889e05f4db add RTCP tests 2021-03-28 15:16:31 +02:00
aler9
547cb8d4c5 clientconn: change internal variable name 2021-03-28 11:49:06 +02:00
aler9
2df9029f01 client: switch to TCP if no UDP packets have been received within a timeout (https://github.com/aler9/rtsp-simple-server/issues/173) 2021-03-26 23:02:36 +01:00
aler9
adbdcc37ba client: avoid copying client internally 2021-03-26 13:55:51 +01:00
aler9
7879d3d533 client: do not exit in case UDP packets are being received from a single track, improving UDP robustness 2021-03-26 12:18:32 +01:00
aler9
437b4cc87e move errors into subpackage 2021-03-21 11:19:35 +01:00
aler9
c0e045071b export most client errors 2021-03-21 10:57:48 +01:00
aler9
da82a2dcc3 export most server errors 2021-03-21 09:59:43 +01:00
aler9
1c2509cb54 update golangci-lint 2021-03-20 16:15:38 +01:00
aler9
bc18883084 update golangci-lint 2021-03-20 14:14:34 +01:00
aler9
25772271db headers: rewrite initializers as members of their structs 2021-03-20 09:55:04 +01:00
aler9
99ef9a9cc0 client: add RTPInfo() 2021-03-14 12:26:29 +01:00
aler9
557fadcd3c add parameter ReadBufferSize to set the read buffer size 2021-02-18 22:59:07 +01:00