Commit Graph

1382 Commits

Author SHA1 Message Date
aler9
ed21f65742 fix example 2021-09-30 10:06:45 +02:00
aler9
1c23e1ff7e avoid crash in case of invalid H264 SPS (https://github.com/aler9/rtsp-simple-server/issues/590) 2021-09-28 22:25:22 +02:00
aler9
9f4f3054da rtpaac, rtph264: remove *RTP suffix 2021-09-28 15:33:38 +02:00
aler9
6410be3ba2 rtpaac, rtph264: make Encoder.Encode() to return []*rtp.Packet 2021-09-28 15:33:17 +02:00
aler9
308802c5a1 rtpaac, rtph264: remove Decoder.Decode() 2021-09-28 15:22:49 +02:00
aler9
4a89eccddd rtph264: add DecodeRTPUntilMarker() 2021-09-28 15:06:40 +02:00
aler9
a1781f1043 fix readme 2021-09-23 20:25:58 +02:00
aler9
321fe06c6d add aac utilities 2021-09-23 20:19:11 +02:00
aler9
13c6b69d30 cleanup example 2021-09-23 20:07:21 +02:00
aler9
b9042282ab update doc 2021-09-23 20:03:53 +02:00
aler9
78a613a034 add client-read-save-to-disk example 2021-09-23 20:03:53 +02:00
aler9
69967d6918 add h264 utilities 2021-09-23 20:03:49 +02:00
aler9
239b71d975 server: do not allow a client to control a session created with a different IP 2021-09-23 19:52:57 +02:00
aler9
0454e5407f use crypto/rand instead of math/rand to avoid port conflicts and security issues 2021-09-23 19:37:26 +02:00
aler9
5ef9076357 server: do not allow a reader to use the same UDP ports of another reader 2021-09-23 19:16:01 +02:00
aler9
7ac0d79ae9 server: do not allow a session to setup UDP tracks from different IPs 2021-09-23 19:12:46 +02:00
aler9
84837b9751 server: fill ctx.Query correctly (#73) 2021-09-23 08:53:10 +02:00
aler9
dbfc058f0c update golangci-lint 2021-09-09 23:05:50 +02:00
aler9
b14aff952c fix image name 2021-09-09 22:14:03 +02:00
aler9
cebb6780a4 support go 1.17 2021-08-30 15:22:17 +02:00
aler9
d7b5335d07 client: fix track reset during protocol switch 2021-08-29 13:56:41 +02:00
aler9
a28a302220 update docs 2021-08-26 10:31:44 +02:00
aler9
359409aaf9 update docs 2021-08-25 23:28:07 +02:00
aler9
d744a2e0d3 change way tracks are initialized
A config object is now required to initialize tracks.
Config objects are provided for H264 and AAC.
This allows to pass parameters easily and treat AAC
parameters explicitly.
2021-08-25 19:16:51 +02:00
aler9
accfc7cd5d client: support servers that change interleaved IDs (#72) 2021-08-25 18:04:22 +02:00
aler9
21617a343a cleanup 2021-08-25 18:04:18 +02:00
aler9
0840425ed2 server: return specific error message in case interleaved IDs are in use 2021-08-25 09:47:12 +02:00
aler9
e11fb9d5a0 rtpaac: prefer slices to maps 2021-08-23 21:50:33 +02:00
aler9
d05a92be5f server: rename session states
new states:
* PreRead
* Read
* PrePublish
* Publish
2021-08-11 12:05:17 +02:00
aler9
c45a1b3995 server: stop sending frames immediately after ServerStream.Close() is called 2021-08-10 17:34:40 +02:00
aler9
3222472021 support tracks with SDPs with multiple formats (#65) 2021-08-07 20:13:24 +02:00
aler9
d8bf9b2307 improve coverage 2021-08-05 18:17:59 +02:00
aler9
2914af3fda server: rename session id into secretID 2021-08-04 17:21:25 +02:00
aler9
15425ca26e server: unexport session id 2021-08-04 09:26:57 +02:00
aler9
45db8582b0 server: do not allow a client to change path name during PLAY or RECORD 2021-07-31 21:26:57 +02:00
thronepohan
288715c270 handle hex session id 2021-07-25 17:06:49 +02:00
Daniel Mack
23458a27b6 serverconn: allow passing of raw base.Response.Body from Describe callbacks
When a server handler implements `OnDescribe()` it may return a
`base.Reponse` that carries a body, along with a `nil` stream.

`handleRequest()` should support that, and not override `res.Body`, and,
more importantly, not dereference the returned `nil` pointer.
2021-07-25 10:32:58 +02:00
aler9
dae5a1f040 cleanup 2021-07-24 17:18:31 +02:00
aler9
4ac9cda1fe rtph264: add error in case of a fragmented NALU with two starting packets 2021-07-24 17:15:11 +02:00
aler9
b60c4a65b2 rtph264: add error in case we decoded a non-starting fragmented packets and we didn't received anything before 2021-07-24 17:05:19 +02:00
aler9
91ee859c9b remove names from GitHub actions 2021-07-04 19:28:59 +02:00
aler9
38658ec45f improve coverage 2021-07-04 12:45:53 +02:00
aler9
7d06e872f2 lock ubuntu version in GitHub actions 2021-07-03 13:17:16 +02:00
aler9
89494e8350 examples/client-read-h264: skip RTCP packets 2021-07-03 11:53:33 +02:00
aler9
88608152cc rename buf into payload 2021-07-03 11:52:51 +02:00
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
cfe4f7a403 track: remove cleaning from Write() (#49) 2021-06-25 18:45:05 +02:00
aler9
dde57ee568 remove ID and BaseURL from Track 2021-06-23 23:07:55 +02:00