Commit Graph

77 Commits

Author SHA1 Message Date
aler9
9f4fea8a01 change track initialization method 2022-06-23 13:13:36 +02:00
aler9
4e41b1c88b improve tests 2022-06-11 19:19:38 +02:00
aler9
98b6515c33 move RTP packet handling into separate package 2022-06-11 13:47:26 +02:00
aler9
2fa3148a27 move URL into dedicated folder 2022-06-05 01:27:19 +02:00
Hiruna Wijesinghe
09304e1c2e Persist credentials on source redirections (#124)
* add client opt to persist credentials on source redirections

* Remove PersistCredentialsOnRedirect flag, persist creds (if any) by default on redirects

* remove useless check

Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com>
2022-06-02 17:19:11 +02:00
aler9
811e189b43 client: support cameras that provide base URL inside control attribute (https://github.com/aler9/rtsp-simple-server/issues/683) 2022-05-11 16:51:48 +02:00
aler9
c1b10a80be allow writing primitives to static buffers 2022-05-11 15:26:44 +02:00
aler9
edeef85e9e accept io.Writer in Write() methods 2022-05-08 14:33:29 +02:00
Shi Ben
bed854ece6 Support AAC tracks with custom sizelength, indexlength and indexdeltalength (#118)
* aac decode by sdp sizelength and indexlength

* fix linting

* fix linting

* 64-95 lines are duplicate of `track_aac_test.go:130-161` (dupl)

* fix linting

* fix linting

* decode aac use IndexDeltaLength
2022-04-15 12:35:54 +02:00
aler9
bfe4e8cdaa automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:16:14 +02:00
aler9
f4efe9ceb5 client: parse incoming RTP/H264 packets; fix RTCP receiver jitter 2022-04-08 16:45:09 +02:00
aler9
cec5326ccf downgrade pion/rtp to v1 (#110) (#113) 2022-04-01 11:19:43 +02:00
aler9
05860a9e4a add test for previous commit 2022-03-18 15:10:45 +01:00
aler9
b2a849dbd8 move RTCP sender / receiver writes into dedicate routine 2022-03-13 01:30:37 +01:00
aler9
e12b22ae77 fix encoding of RTP packets with padding
this fixes a SIGSEGV with GStreamer
2022-03-08 12:47:55 +01:00
aler9
bc9be686d9 client: call Options() automatically 2022-02-19 22:51:54 +01:00
aler9
b7df36d4ad client: decode and encode RTP/RTCP packets 2022-02-18 00:03:39 +01:00
aler9
ad69a8957b support h264 tracks with extradata in sprop-parameter-sets 2022-01-30 15:51:49 +01:00
aler9
6d5bf0c1bb new track system 2022-01-30 15:51:49 +01:00
aler9
cd0db96a5d client: test case in which session is not sent in a PLAY response 2022-01-30 14:27:15 +01:00
aler9
12b14491c2 client: add keepalive from session tests 2022-01-20 12:01:39 +01:00
aler9
3084b62da2 client: fix '401 Unauthorized' error with some Hikvision cameras
when automatically switching protocol
2022-01-18 16:20:24 +01:00
aler9
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +01:00
aler9
a1de5ffdf9 add client TLS publish tests 2021-12-08 17:23:03 +01:00
aler9
243c0f66f4 rename frameRecv into packetRecv 2021-12-04 21:36:56 +01:00
aler9
9c3ee269f2 client: do not use InsecureSkipVerify by default 2021-12-03 23:11:49 +01:00
aler9
870687d91d client: send receiver reports to server even with AnyPortEnable (https://github.com/aler9/rtsp-simple-server/issues/698) 2021-11-30 22:23:24 +01:00
aler9
eb0c583a62 client: invert arguments of Setup() 2021-11-28 12:51:21 +01:00
aler9
d5bdc197be allow client and server to override most parameters 2021-11-18 12:17:04 +01:00
aler9
a4c43fc1e8 use UDP in sender / receiver report tests 2021-11-18 11:51:32 +01:00
aler9
1411cb33f5 server: support reading with VLC and multicast 2021-11-15 17:40:17 +01:00
aler9
ba7f9aff25 client: support reading from servers that use random UDP ports (https://github.com/aler9/rtsp-simple-server/issues/691) 2021-11-13 10:13:54 +01:00
aler9
922d74b940 client: remove Client from OnPacket* arguments 2021-11-12 18:01:27 +01:00
aler9
08ab7f87ac client: simplify Setup() 2021-11-12 18:01:27 +01:00
aler9
3ba7c373b9 client: allow receiving UDP packets before PLAY response 2021-11-12 18:01:27 +01:00
aler9
e13b4289ec client: simplify API, add StartReadingWait 2021-11-12 18:01:27 +01:00
aler9
07b1fe6a05 client: fix race condition 2021-11-12 18:01:27 +01:00
aler9
0440a926b8 client: use a single goroutine during play / record 2021-11-12 18:01:27 +01:00
aler9
19568f2d42 fix tests 2021-11-12 18:01:27 +01:00
aler9
a22116e66e client: turn ReadFrames into OnPacketRTP, OnPacketRTCP 2021-11-12 18:01:27 +01:00
aler9
d1d766658b client: merge Client and ClientConn 2021-11-12 18:01:27 +01:00
aler9
fdb0d70870 client: remove default client 2021-11-12 18:01:27 +01:00
aler9
7ebbdbf093 client: split WriteFrame into WritePacketRTP and WritePacketRTCP 2021-11-12 18:01:27 +01:00
aler9
6d340cdf39 rtcp*: split ProcessFrame into ProcessPacketRTP and ProcessPacketRTCP 2021-11-12 18:01:27 +01:00
aler9
6e38851a09 add non standard frame tests 2021-11-06 13:28:16 +01:00
aler9
ccb8c932a3 client: check parameters in request urls 2021-11-03 18:08:16 +01:00
aler9
78bfa5d6a8 use require.EqualError() in tests 2021-11-03 17:52:45 +01:00
aler9
1d5f3c92ae add VLC authentication workaround 2021-10-30 14:47:58 +02:00
aler9
653b3ee993 update golangci-lint 2021-10-30 13:06:23 +02:00
aler9
e8e94c2b14 set right AAC type in tests 2021-10-23 12:39:28 +02:00