Commit Graph

1457 Commits

Author SHA1 Message Date
Alessandro Ros
1694d9086d use normalized trackID in place of mediaUUID (#226)
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
2023-04-07 12:38:10 +02:00
dependabot[bot]
0cfa877b79 build(deps): bump golang.org/x/net from 0.8.0 to 0.9.0 (#227) 2023-04-07 01:10:00 +02:00
Alessandro Ros
2fbba142cc add OnTransportSwitch, OnPacketLost, OnDecodeError to server and client (#225)
These new hooks replace the generic hooks Log() and OnWarning().
2023-04-04 17:10:37 +02:00
Alessandro Ros
f905598d2e link to mediacommon (#223)
* move codecs and bits to mediacommon

* add SafeSetParams() to H264 and H265

* update README
v3.0.0
2023-04-01 16:38:08 +02:00
Alessandro Ros
af3ed2bd83 merge format and formatdecenc into formats (#222) 2023-04-01 13:23:16 +02:00
Alessandro Ros
03b96abf84 rename Read() methods into Marshal() (#221) 2023-03-31 13:09:49 +02:00
Alessandro Ros
71ce818c97 remove deprecated entities (#220) 2023-03-31 12:42:50 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Felipe Martínez
e3f37a3e36 Support JPEG comment markers in MJPEG encoder (#219)
* Skip JPEG comments

* simplify code

---------

Co-authored-by: Alessandro Ros <aler9.dev@gmail.com>
2023-03-28 14:26:45 +02:00
Alessandro Ros
281c1189e6 fix badges in README (#218) 2023-03-26 17:17:18 +02:00
Alessandro Ros
862b1061f4 fix parsing and generation of control attributes that contain RTSPS URLs (#216) v2.2.2 2023-03-24 21:07:45 +01:00
Alessandro Ros
1ad059a80b server: use absolute RTSP URL as control attribute (#210)
this is necessary in order to make GStreamer's rtspsrc to send query parameters correctly in SETUP requests.
v2.2.1
2023-03-24 10:54:14 +01:00
dependabot[bot]
d37f4139f3 build(deps): bump golang.org/x/net from 0.7.0 to 0.8.0 (#215)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-23 11:46:22 +01:00
dependabot[bot]
868fd901e5 build(deps): bump github.com/stretchr/testify from 1.7.1 to 1.8.2 (#214)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-23 11:38:39 +01:00
Alessandro Ros
857aa4092f enable dependabot (#212) 2023-03-23 11:31:31 +01:00
Alessandro Ros
80ccb07af7 simplify make mod-tidy (#211) 2023-03-23 11:28:06 +01:00
Alessandro Ros
d369d215c2 client: replace OnWarning with Log (#208) v2.2.0 2023-03-19 18:15:33 +01:00
Alessandro Ros
1005b38ec5 add benchmark (#207) 2023-03-18 16:45:21 +01:00
Alessandro Ros
f0540b4eee fix timestamp encode error after some hours (#206)
previous formula was: uint32(a + uint32(b))
this formula overflows two times, while it should overflow once.
new formula is: uint32(uint64(a) + uint64(b))
v2.1.7
2023-03-14 17:55:06 +01:00
Alessandro Ros
bc248c8e1d simplify FMTP decoding and encoding (#205) v2.1.6 2023-03-13 22:44:31 +01:00
Alessandro Ros
13fab2962e make Opus SDP always return 48khz and 2 channels (#204)
RFC7587 mandates 48khz as sample rate and 2 channels inside the SDP.
These values can be dynamically adjusted by the stream, but they must
not be touched inside the SDP.
2023-03-13 22:03:49 +01:00
Alessandro Ros
8df5d21c35 formatdecenc/rtph264: fix removing Annex-B even when first packet is not Annex-B (#199) (#200) (#202) v2.1.5 2023-03-13 18:56:46 +01:00
Alessandro Ros
253be9913e update docs (#203) 2023-03-13 18:53:36 +01:00
Alessandro Ros
4b7fed505b fix codecov link (#198) v2.1.4 2023-03-09 14:31:27 +01:00
Alessandro Ros
8be6bf735d codecs/h265: support SPS with long_term_ref_pics_present_flag (#197)
Fixes https://github.com/aler9/rtsp-simple-server/issues/1441
2023-03-09 14:26:58 +01:00
aler9
c88c5c822a update readme 2023-02-25 20:36:29 +01:00
Alessandro Ros
de998e779b support go 1.20 (#189) 2023-02-25 17:59:58 +01:00
Alessandro Ros
61858cefe5 update dependencies (#188) v2.1.3 2023-02-20 11:04:26 +01:00
Nils Zottmann
1c50779598 Allow RTCP packets for keepalive also in state PLAY (#185) (#186)
* Allow RTCP packets for keepalive also in state PLAY (#185)

* use sessionTimeout instead of ReadTimeout

* reset udpLastPacketTime before PLAY and RECORD

* change error message in case of timeouts

* fix comment

---------

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
v2.1.2
2023-02-13 13:22:38 +01:00
aler9
d75c8e4788 speedup tests 2023-02-13 13:18:22 +01:00
Alessandro Ros
6e9e4d7e88 move standards list in a dedicated README section (#187) 2023-02-12 18:17:52 +01:00
Alessandro Ros
6deba3e454 prevent RAM exhaustion with some SPS strings (#184) 2023-02-06 22:18:20 +01:00
aler9
82f69e94f6 server: update error message
replace 'teared down' with 'torn down'
2023-02-05 19:02:42 +01:00
aler9
9b14285018 client: fix bug that limited UDP clients to 1024 (#179)
A function that returned a random port was wrongly returning only 1024
possible values.
v2.1.1
2023-02-04 20:28:13 +01:00
aler9
1d915dcc81 change error message v2.1.0 2023-01-23 13:52:11 +01:00
Alessandro Ros
df8077ce7c server: fix race condition (#178) 2023-01-23 13:19:56 +01:00
Alessandro Ros
a2d6ce8af6 replace OnDecodeError with OnWarning (#177) 2023-01-23 12:54:57 +01:00
Alessandro Ros
14fcde1c69 client: call OnDecodeError() during protocol switch from UDP to TCP (#176) 2023-01-23 12:41:14 +01:00
Alessandro Ros
7b6a5f8cb3 Add proxy example (#141) (#175)
* cleanup

* add proxy example
2023-01-23 11:23:16 +01:00
Alessandro Ros
82dac32f6e format: fix compatibility with some TP-Link cameras (#174)
https://github.com/aler9/rtsp-simple-server/issues/1267
2023-01-22 19:32:17 +01:00
Alessandro Ros
f6438ed8d1 normalize file names (#173) 2023-01-22 11:44:20 +01:00
Alessandro Ros
b55886f6df media: preserve recvonly, sendonly and sendrecv attributes (#171) 2023-01-22 11:23:59 +01:00
Alessandro Ros
341d0a6a0e media: remove redundant pointer (#172) 2023-01-21 20:15:00 +01:00
Alessandro Ros
40574c4fb6 sdp: fix multiple crashes in SDP parser (#170)
* sdp: support parsing example SDP In ONVIF specification

* sdp: fix crash in SDP parser; add fuzz tests

* sdp: improve coverage
2023-01-21 19:32:40 +01:00
aler9
e3f21fc59f client: send TEARDOWN even when PLAY or RECORD have not been sent yet 2023-01-19 10:31:28 +01:00
Alessandro Ros
71bd86cff9 client: improve automatic protocol switching (#169)
(https://github.com/aler9/rtsp-simple-server/issues/1105)

when a camera receives a UDP request and replies with a TCP response,
switch protocol from UDP to TCP.
2023-01-19 09:41:24 +01:00
aler9
ca3ab98cca server: fix generation of RTP-Info v2.0.5 2023-01-11 00:57:30 +01:00
aler9
8664d5413d fix high level tests 2023-01-11 00:47:39 +01:00
aler9
645f9462e2 server: support publishing/reading to/from path '/' or '' 2023-01-11 00:39:58 +01:00
aler9
e86bf26343 cleanup examples 2023-01-08 22:13:15 +01:00