Commit Graph

51 Commits

Author SHA1 Message Date
Scott e116e197ae Changed all %v's to %w's where appropriate 2019-12-04 14:12:20 +10:30
Dan Kortschak 830d8ea647 protocol/rtp: add Timestamp parsing function 2019-11-20 14:20:22 +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 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 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 6b64314d71 Merged in h265-lexer (pull request #189)
codec/h265: h265 lexer and testing
2019-05-13 07:41:17 +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 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 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 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 299b13b691 codec/h265: started writing lexer
Started writing lexer for h265. Wrote type Lexer as we required a data struct we can initialize before starting the lexing process, with for example, information regarding the presense of DONL and
DOND. Wrote handler for aggregation packet. Still need to do fragmentation packet.
2019-04-30 16:38:23 +09:30
Saxon d358f70585 protocol/rtp: made client_test.go more robust 2019-04-30 09:39:41 +09:30
Saxon 6694cab956 protocol/rtp: commented Client.Err() 2019-04-30 02:38:38 +09:30
Saxon 49a401681d protocol/rtp: Client.ErrChan => Client.err and wrote accessor function Client.Err() to access this chan as only receive 2019-04-30 02:37:18 +09:30
Saxon a0c324a813 protocol/rtp: simplified test
Simplified clien_test.go file by testing two different RTP packet operations using loop. We now first test no operation,
and then test a rtp.Payload operation, which gets the payload of the packets and stores them in the client ringbuffer for the
user of the client to read.
2019-04-21 23:07:30 +09:30
Saxon be76998c7d protocol/rtp: wrote TestReceiveNoOp
Wrote test TestReceiveNoOP to check that client works correctly when we give no operation to perform on RTP packets before
storing in the client ringBuffer, which calling io.Reader implementation Read will get packets form.
2019-04-21 22:40:08 +09:30
Saxon f454a34856 protocol/rtp: added client_test.go for client testing 2019-04-20 21:10:03 +09:30
Saxon 00db293b44 protocol/rtp: consts for chan and ringbuffer sizes 2019-04-20 21:05:34 +09:30
Saxon 190d546c58 protocol/rtp: commented file 2019-04-19 18:40:15 +09:30
Saxon b302eafa68 protocol/rtp: setting Client's op field in constructor 2019-04-19 18:22:43 +09:30
Saxon ccc08bfad1 protoocl/rtp: added client.go file
Added client.go which contains a struct to describe an RTP client. It provides a method, Start, which will
invoke a recv routine to start receiving packets and process them using an op function passed on the Client's
creation. Client implements io.Reader, so that the client may be read from.
2019-04-19 18:17:06 +09:30
Saxon 4a613e600c protocol/rtp: fixed gnu license url in file headers for parse_test.go and parse.go 2019-04-14 17:08:42 +09:30
Saxon 0700a8270d protocol/rtp: updated parse.go function comments 2019-04-10 16:56:32 +09:30
Saxon a0fb380717 protocol/rtp: simplified hasExt function 2019-04-10 12:52:05 +09:30
Saxon ff0c62910c protcol/rtp: panic in Payload if length is not sufficiently long to be RTP packet. 2019-04-10 12:51:05 +09:30
Saxon 6992ab395b protocol/rtp: removed extHeaderLen func 2019-04-09 15:45:40 +09:30
Saxon b5c018276f protocol/rtp: commented rtpVer const and made defaultHeadSize 12 rather than 4*3 2019-04-09 15:45:40 +09:30
Saxon df3e66e5b2 protocol/rtp: removed redundant version checks from helper funcs in parse.go 2019-04-09 15:45:40 +09:30
Saxon 09b8a2baff protocol/rtp: fixed indentation issue in file header in parse_test.go 2019-04-09 15:45:40 +09:30
Saxon b5711d18c5 protocol/rtp: fixed indentation issue in file header 2019-04-09 15:45:40 +09:30
Saxon 3dfc7ed990 protocol/rtp: wrote TestPayload
Wrote test TestPayload which will check that we can correctly get the payload from an RTP
packet using Payload for a variety of different RTP packet configurations.
2019-04-09 15:45:40 +09:30
Saxon 275b86285e protocol/rtp: added TestExtHeaderLen
Added test TestExtHeaderLen which checks that extHeaderLen returns the correct len for
an RTP packet with an extension header.
2019-04-09 15:45:40 +09:30
Saxon 3dc6d7733b protocol/rtp: wrote TestHasExt
Wrote test TestHasExt which checks the behaviour of hasExt for when it's call with an
RTP packet with an extension indicator and also for an RTP packet with no extension
indicator.
2019-04-09 15:45:40 +09:30
Saxon c2b67d7fb9 protocol/rtp: wrote TestCsrcCount
Wrote test TestCsrcCount to check behaviour of csrcCount is expected.
2019-04-09 15:45:40 +09:30
Saxon 74b25e646a protocol/rtp: wrote TestVersion
Wrote test that checks the version func will correctly get the
version from an RTP packet.
2019-04-09 15:45:40 +09:30
Saxon fa9888723f protocol/rtp: added parse_test.go file and fixed copyrights. 2019-04-09 15:45:40 +09:30
Saxon af9a9bc6c0 protocol/rtp: added parse.go file with parsing functionality
Added parse.go. This file contains functionality to obtain the Payload from an RTP packet.
Unexported functions to help with this extraction have been added; extHeaderLen, hasExt,
csrcCount and version.
2019-04-09 15:45:40 +09:30
Saxon 4978db2f2b revid: fixed silly rtp bug 2019-04-09 15:44:18 +09:30
Saxon 6dbbee81d2 protocol/rtp: rtp packet payload comment update 2019-04-03 12:20:54 +10:30
Saxon efa0d38aad protocol/rtp: removed Len field from ExtensionHeader struct as we can gather from len(ExtensionHeader.Header) 2019-04-02 21:49:11 +10:30
Saxon 95a9e4a2ef protocol/rtp: extended functionality of rtp pkg
rtp.Bytes can now deal with CSRC fields, extension fields and padding. Tests have been updated to be more extensive in checks.
2019-03-29 15:48:34 +10:30