Commit Graph

1457 Commits

Author SHA1 Message Date
aler9
e97d29084e h264: apply NALU count limit during Annex-B and AVCC unmarshaling 2022-10-09 13:21:40 +02:00
aler9
74f941be71 rtptimedec: improve performance 2022-10-09 11:14:20 +02:00
aler9
b3c70f56f7 h264: fix Annex-B decoding
Some Annex-B streams use both [0 0 1] and [0 0 0 1] as delimiters.
These streams are now parsed correctly.
2022-10-08 20:13:46 +02:00
aler9
92cc1b5ee9 update golangci-lint 2022-09-17 21:19:40 +02: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
25199d8e16 client: support cameras that sends invalid RTCP packets with TCP
(https://github.com/aler9/rtsp-simple-server/issues/1085)
2022-08-27 17:34:10 +02:00
aler9
0cfbb1fb30 server: send RTCP sender reports to TCP clients too
this allows Nvidia Deepstream to compute NTP timestamp of frames
(https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_NTP_Timestamp.html)
2022-08-25 22:47:38 +02:00
aler9
dff01f3eac update go.mod 2022-08-23 10:45:58 +02:00
aler9
7171f0cf51 support go 1.19; drop support for go 1.16 2022-08-23 10:40:19 +02:00
aler9
1a89e1d932 split makefile into multiple scripts 2022-08-23 10:13:21 +02:00
aler9
155862f15b improve coverage 2022-08-16 10:24:36 +02:00
aler9
8268c27bde update docs 2022-08-15 11:00:26 +02:00
aler9
27f8015ac6 simplify usage of Conn 2022-08-15 00:10:21 +02:00
aler9
06bed24dd9 add intermediate layer between net.Conn and client / server 2022-08-14 23:43:01 +02:00
aler9
a0a168d26c improve tests 2022-08-14 20:54:57 +02:00
aler9
40c1ff8dfe rename rtpaac into rtpmpeg4audio 2022-08-14 12:47:40 +02:00
aler9
1884f8a743 update golangci-lint 2022-08-13 18:18:59 +02:00
aler9
4b19822d51 rename MPEGVideo and MPEGAudio into MPEG2Video and MPEG2Audio 2022-08-07 14:01:00 +02:00
aler9
a2c6a7fb97 server: change behavior in case of unhandled methods
(https://github.com/aler9/rtsp-simple-server/issues/1066)

Return 501 and keep connection open instead of returning 400 and
closing the connection.
2022-08-07 13:51:12 +02:00
aler9
4940e8faeb server: add Session to ServerHandlerOnSetParameterCtx 2022-08-07 13:43:59 +02:00
aler9
702cac94a6 write MPEG in uppercase 2022-08-05 23:40:11 +02:00
aler9
537b2033d2 rename TrackAAC into TrackMPEG4Audio 2022-08-05 23:37:53 +02:00
aler9
592d62e859 support HE-AAC v1 and HE-AAC v2 tracks (#1068) 2022-08-05 23:33:44 +02:00
aler9
b1513c6802 rename pkg/acc into pkg/mpeg4audio 2022-08-05 22:40:05 +02:00
aler9
7d4da47da4 remove deprecated libav function 2022-08-05 14:04:11 +02:00
aler9
8883050f63 server: fix freeze caused by race condition
it happened when the server tried to send a request to a session that
is being closed.
2022-08-04 18:59:23 +02:00
aler9
ab19ae5f76 update readme 2022-08-04 18:59:15 +02:00
aler9
2c8889602c h264: improve error message 2022-07-24 12:07:30 +02:00
aler9
73830e29be rtph264: support streams that encode NALUs into Annex-B
(https://github.com/aler9/rtsp-simple-server/issues/1029)
2022-07-24 01:07:54 +02:00
aler9
a301701169 h264: improve Annex-B unmarshal performance 2022-07-24 00:28:28 +02:00
aler9
570be5c520 rtpaac: support ADTS-encoded, fragmented AUs 2022-07-23 23:58:31 +02:00
aler9
5692796b4a server: remove useless check 2022-07-23 23:18:40 +02:00
aler9
c42900c937 h264: improve nvenc support 2022-07-23 23:12:22 +02:00
aler9
2d5211f734 rtpreorderer: return all buffered packets when the buffer is full
(https://github.com/aler9/rtsp-simple-server/issues/1049)
2022-07-23 13:10:45 +02:00
aler9
937b36cfb1 rtpcleaner: accept RTP/H264 packets even if the server is unable to
parse them (https://github.com/aler9/rtsp-simple-server/issues/1049)
2022-07-23 12:55:21 +02:00
aler9
c6972424d6 avoid using encoding/binary 2022-07-17 14:54:04 +02:00
aler9
234e4f4f8d client: fix RTSPS default port 2022-07-09 17:13:11 +02:00
aler9
e262385062 client: remove StartReading, StartReadingAndWait 2022-07-09 17:08:37 +02:00
aler9
36c6d0b7ef client: fix RTSPS default port 2022-07-09 16:53:25 +02:00
RitJ
4941ef5f6e Update README.md (#133) 2022-07-06 11:15:10 +02:00
Alessandro Ros
df7336b5e8 implement packet reordering for UDP / Multicast transports (#132)
* implement packet reordering for UDP transport

* rtcpreceiver: stop handling unordered / duplicate packets

* remote useless Sleep() from tests
2022-07-05 23:29:03 +02:00
aler9
c6221476fc update readme 2022-07-05 22:56:34 +02:00
aler9
fb39087150 client: avoid sending/receiving invalid packet when reading with multicast 2022-07-05 22:54:40 +02:00
aler9
18005a9cde ringbuffer: force size to be a power of 2
otherwise buffer is used partially when writeIndex overflows.
2022-07-05 19:25:53 +02:00
aler9
ef900359ce add TrackVP8 2022-06-28 12:10:30 +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
e3c9f0c2e6 rtph264: add limit on nalus per group 2022-06-27 09:37:27 +02:00
aler9
793cea631b h264: prefer POC method over SEI method 2022-06-24 20:23:52 +02:00
aler9
dd091a1262 h264: add workaround for nvenc 2022-06-24 20:19:01 +02:00
aler9
52123a2741 aac: use MPEG4AudioType inside ADTSPacket 2022-06-24 16:52:47 +02:00