Commit Graph

178 Commits

Author SHA1 Message Date
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 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 #188)
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 #189)
codec/h265: h265 lexer and testing
2019-05-13 07:41:17 +00:00
Saxon Milton 384640b41a Merged in beatgammit-rtsp-overhaul (pull request #187)
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 #185)
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 #186)
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
Saxon 960d0b4477 protocol/rtsp/cmd/record: using select rather than for loop to wait at end of record program 2019-04-30 21:37:06 +09:30
Saxon 6a9d2755d1 protocol/rtsp: don't need to wrap conn in bufio.Reader() 2019-04-30 21:36:06 +09:30
Saxon a4da3dab15 protocol/rtsp/client.go: using u instead of url from url.Parse in Client.Setup() 2019-04-30 21:33:35 +09:30
Saxon 8196df52d7 protocol/rtsp: added newline after file headers 2019-04-30 21:32:05 +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 944fe00e5d protocol/rtsp: commented TestReadResponse 2019-04-30 02:32:24 +09:30
Saxon f197acc50a protocol/rtsp: fixed conflicts in go.mod and go.sum 2019-04-30 02:30:12 +09:30