Commit Graph

188 Commits

Author SHA1 Message Date
Dan Kortschak 830d8ea647 protocol/rtp: add Timestamp parsing function 2019-11-20 14:20:22 +10:30
Saxon fc0cd2a4f0 protocol/rtcp/parse_test.go: fix overflow on 32bit systems 2019-11-09 20:41:46 +10:30
Saxon 38cfad7b67 revid: fixing some more bugs
Fixed H264 RTP extractor. Fine tuned some timing regarding geovision setup. Added some more
logging to geovision setup.
2019-10-23 12:48:22 +10:30
Saxon f336a03d7a revid: general bug fixing
Use http instead of https in gvctrl getLogin request. Gave RTP client a close method so that the conn can
be closed after we're done with the client. Put timeout on reading from the RTP client PacketConn so that
we don't hang on the ReadFrom call if the conn is closed. Closing the RTSP and RTP clients when
startRTSPCamera is returned.
2019-10-22 23:04:33 +10:30
Saxon 5995f1a815 protocol/rtcp/client.go: initialise error chan err in constructor rather than Client.Start() function 2019-10-15 16:59:52 +10:30
scruzin 7414317429 Skip TestFromFrame if RTMP_TEST_FRAME env var not defined. 2019-07-10 09:45:55 +09:30
Saxon ce457e1d95 should have been in last commit 2019-06-07 02:00:31 +09:30
Saxon 1df0d214c9 revid/revid.go: fixed merge conflicts 2019-05-27 15:00:41 +09:30
Saxon 03c45b1bcf protocol/rtcp/parse.go: removed ParseSSRC and checkPacket functions as not required anymore 2019-05-27 14:31:14 +09:30
Saxon ad241abdfd protocol/rtcp/client.go: fixed missing double quote in comment for Client.SetName() 2019-05-24 10:14:37 +09:30
Saxon d7d205a7a9 protocol/rtcp/parse.go: updated comment for ParseTimestamp(...) 2019-05-23 14:07:19 +09:30
Saxon 722ddc6ccb codec/h264/lex_test.go: added test for RTPLexer.Lex(...) and also fixed some build errors 2019-05-22 14:49:25 +09:30
Saxon fbcd163864 protocol/rtcp: fixed bug regarding checking of close err channel from client in routines. 2019-05-21 17:07:28 +09:30
Saxon eeaf806c6e protocol/rtcp/client.go & revid/revid.go: removed rtcp.Client.Done() and now blocking on rtcp.Client.Err() in revid.
It seems unnecessary to have the rtcp.Client.Done() func, considering that we could use
the rtcp.Client.err channel itself to determine if the RTCP client has been stopped.
We simple wait on a chan receive in revid in the error handling routine, and we check the
'ok' return - if it is false, then the err chan has been closed and we can get out of the
error handling loop. This should also reduce CPU usage significantly.
2019-05-21 13:23:04 +09:30
Saxon 39a573e10b protocol/rtsp: removed cmd/record as revid can do what this did 2019-05-21 01:51:14 +09:30
Saxon 91d2697a55 revid: general clean up 2019-05-21 01:48:29 +09:30
Saxon 970a445ca4 codec/h265/lexer.go & protocol/rtp/client.go: fixed lexer and rtp client.
The lexer had a bug which is now fixed, and the RTP client is no longer looking for SSRC
in rtp.NewClient (which means we miss a packet).
2019-05-20 20:49:50 +09:30
Saxon 3ff726e439 revid & cmd/revid-cli: removed need for command line flags to specify addresses for RTP and RTCP.
Removed the command line flags that were used to specifiy local and remote addresses for RTP and RTCP. These are now
derived from the initial RTSP connection and also from the RTSP SETUP method reply.
2019-05-20 19:45:59 +09:30
Saxon bc6a0ae55e revid: using RTCP client to maintain RTP stream from RTSP server
Now adopting an RTCP client so that the RTP stream from the RTSP server can be maintained past 1 minute.
This change involved some refactor.
The rtcp.NewClient signature has been simplified. There is now a default send interval and name for use
in the source description in the receiver reports. These can be customised if required with the new
SetSendInterval and SetName funcs. The rtcp.NewClient signature now takes an rtp.Client, so that it
can get information from the RTP stream, like most recent sequence number. As a result of this requirement
the rtp package parse file has been extended with some functions for parsing out the sequence number and
ssrc from RTP packets and the RTP client provides getters for these things.
2019-05-20 18:14:27 +09:30
Saxon Milton eaba622909 Merged in separate-codecs (pull request )
codec: created h264 and mjpeg packages to house lexers

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-19 11:46:33 +00:00
Saxon Milton 6b64314d71 Merged in h265-lexer (pull request )
codec/h265: h265 lexer and testing
2019-05-13 07:41:17 +00:00
Saxon Milton 384640b41a Merged in beatgammit-rtsp-overhaul (pull request )
protocol/rtsp: RTSP protocol functionality from modified and extended package

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-13 07:39:29 +00:00
Saxon 07a6cfcf68 protocol/rtp/client.go: commented PacketReader 2019-05-13 14:03:11 +09:30
Saxon 4f55f2bed1 protocol/rtp/client.go: initialising PacketReader now to fix build runtime panic 2019-05-11 22:04:45 +09:30
Saxon 6acc2d7376 protocol/rtp/client.go: wrote PacketReader type
Client now possesses a PacketReader which has it's Read func wrapped by the Client's Read func
2019-05-11 22:01:07 +09:30
Saxon Milton a5e40472d4 Merged in rtsp-protocol (pull request )
protocol: added basic RTCP protocol client implementation.

Approved-by: Alan Noble <anoble@gmail.com>
Approved-by: kortschak <dan@kortschak.io>
2019-05-09 03:06:37 +00:00
Saxon 524dbea0e1 protocol/rtcp/client.go: added comment for Log func signature type 2019-05-09 12:28:31 +09:30
Saxon 5bd0e31db3 protocol/rtcp/client.go: fixed filename in file header 2019-05-09 12:24:48 +09:30
Saxon 9e07984848 protocol/rtsp: added package comment. 2019-05-09 12:17:11 +09:30
Saxon 51160c8849 protocol/rtcp/client.go: export log type 2019-05-09 11:41:51 +09:30
Saxon 841dccaec8 protocol/rtcp/rtcp.go: added package comment 2019-05-09 11:35:07 +09:30
Saxon Milton 080800d43a Merged in rtp-client (pull request )
protocol/rtp: RTP client

Approved-by: kortschak <dan@kortschak.io>
Approved-by: Alan Noble <anoble@gmail.com>
2019-05-09 01:22:54 +00:00
Saxon 3692ba772d protocol/rtp/client.go: removed dummyLogger as not required anymore. 2019-05-08 16:57:58 +09:30
Saxon 534a0bcecb protocol/rtp/client.go: updated file description in file header. 2019-05-08 16:57:07 +09:30
Saxon c48e681c41 protocol/rtp/client.go: removed buffering in client.
Removed buffering in rtp client. This simplified things alot e.g. the recv routine has been removed, and therefore anything that was there to help with handling of the routine is also gone
like the Start() and Stop() methods as well as signalling channels and waitgroups. The client is now just effectively a wrapper for a udp conn.
2019-05-08 16:54:02 +09:30
Saxon 7e96f5999c protocol/rtp/client.go: updated comment for NewClient to remove mention of removed op argument 2019-05-08 15:47:11 +09:30
Saxon aa7553947a protocol/rtp/rtp.go: renamed Pkt type to Packet. 2019-05-08 15:45:08 +09:30
Saxon a06083ecb7 protocol/rtcp/client.go: no newline at the end of error string in parse() 2019-05-08 13:54:56 +09:30
Saxon f5d38b1bfc protocol/rtcp/client.go: using fmt.Errorf rather than errors.New(fmt.Sprintf(...)) in parse() 2019-05-08 13:53:36 +09:30
Saxon ea309b295e protocol/rtcp/client.go: only using one quit chan for both send and recv routines. 2019-05-08 13:51:54 +09:30
Saxon 76612ea8df protocol/rtcp/client.go: not embedding log 2019-05-08 13:49:09 +09:30
Saxon 040cd18db3 protocol/rtcp/client.go: moved err chan to bottom of fields list. 2019-05-08 13:48:12 +09:30
Saxon c9aa43394b protocol/rtp/client.go: got rid of useless continue in recv dst write if error encountered 2019-05-03 20:04:06 +09:30
Saxon 2f039e0c4b protoocl/rtp: removed comment for 'misc constants' 2019-05-03 20:02:29 +09:30
Saxon 9b3523607b protocol/rtcp: added todo comment to jitter() 2019-05-03 20:00:18 +09:30
Saxon 7fe5e74123 protocol/rtcp/client.go: added comment for Err() regarding usage. 2019-05-03 19:58:50 +09:30
Saxon a94e698c6b protocol/rtp: fixed a bug in rtp.Marker 2019-05-02 00:51:58 +09:30
Saxon 80a7d41d8a protocol/rtp: removed op from Client i.e. what is read from Client are RTP packets. 2019-05-01 14:15:39 +09:30
Saxon e823ebca48 protocol/rtsp: using strings.Prefix in ReadResponse to check that protocol is correct 2019-04-30 21:43:04 +09:30
Saxon a025d55d81 protocol/rtsp: using Fprintf with strings.Builder in Request.String() and Response.String() 2019-04-30 21:41:46 +09:30