Commit Graph

46 Commits

Author SHA1 Message Date
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 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 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 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 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 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 e00c959a84 protocol/rtcp: renamed NTPTimestamp to Timestamp
Renamed NTPTimestamp and referenced specifications rather than quoting. Renamed Timestamp func to ParseTimestamp.
2019-04-23 16:40:26 +09:30
Saxon 63da7dbb59 protocol/rtcp: removed unecessary logging in test files 2019-04-23 14:45:16 +09:30
Saxon 017abea667 protocol/rtcp: fixed indentation in file headers 2019-04-23 14:38:26 +09:30
Saxon 4c2962ba75 protocol/rtcp: renamed SourceDescription to Description 2019-04-23 14:33:27 +09:30
Saxon 889072bde0 protocol/rtcp: improve ReportBlock field names 2019-04-23 14:30:05 +09:30
Saxon 4068aea207 protocol/rtp: better comment for NTPTimestamp and renamed fields 2019-04-23 14:25:22 +09:30
Saxon b43f6f8072 protocol/rtcp: renamed highestSequence() to sequence. 2019-04-23 14:16:40 +09:30
Saxon 6b994d0dba protocol/rtcp: made Client error channel unexported
Renamed Client ErrChan field to err, i.e. made unexported. Wrote Err() accessor that allows user to only read from error channel.
2019-04-23 13:26:56 +09:30
Saxon a43ef56618 protocol/rtcp: addressing PR feedback 2019-04-22 00:34:03 +09:30
Saxon a8e56311c2 protocol/rtcp: addressing PR feedback 2019-04-19 14:15:43 +09:30
Saxon d34eabcd34 protocol/rtcp/client.go: not using defer for simple setters/getters 2019-04-17 07:41:31 +09:30
Saxon 881ddc3d38 protocol/rtcp: using defer where I can 2019-04-16 22:01:38 +09:30
Saxon f66a94543a protocol/rtcp: fixed some further feedback 2019-04-16 17:17:48 +09:30
Saxon 51478ee064 protocol/rtcp: addressing of PR feedback 2019-04-16 17:16:13 +09:30
Saxon f54dd13959 protocol/rtcp: added file headers 2019-04-16 16:45:44 +09:30
Saxon 5cf39595eb protocol/rtcp: fix case of protocols in comments 2019-04-16 16:31:04 +09:30
Saxon 1a19412223 protocol/rtcp: finished client_test.go improved usability or client
Finished writing the client_test.go file and through the process fixed some bugs in the client. Also increased usability by providing a Stop() method
so that the send and recv routines, and also the connection can be terminated. Also created a sender report struct in rtcp.go - this helped with
testing.
2019-04-16 12:33:58 +09:30
Saxon aa947d112c protocol/rtcp: wrote test for Client.formPayload 2019-04-15 17:35:36 +09:30
Saxon dca007a5ba rtcp/protocol: tried to make Bytes funcs and client formation of payload more efficient 2019-04-15 16:56:52 +09:30
Saxon 2669862ced protocol/rtcp: wrote struct for RTCP sender report 2019-04-15 15:53:06 +09:30
Saxon af664b0661 protocol/rtsp: more commenting and started writing client_test.go to check the behaviour of the rtcp client 2019-04-15 14:01:38 +09:30
Saxon 5fa0969530 protocol/rtcp: changed Timestamp func so that it returns msw and lsw 2019-04-13 19:48:20 +09:30
Saxon 757564a2ed protocol/rtcp: wrote body for Timestamp and added testing. 2019-04-12 18:02:27 +09:30
Saxon 8f452e1155 protocol/rtcp/rtcp.go: added placeholder functions for getting sender report timestamp words 2019-04-12 16:40:52 +09:30
Saxon 81048d1613 protocol/rtcp/client.go: writing rtcp client
Added client.go file which contains an rtcp client abstraction. This will listen for incoming sender reports and send out receiver reports.
2019-04-12 16:29:35 +09:30
Saxon db81547962 protocol/rtcp: wrote test for SourceDescription.Bytes() and made modifiations to make it pass. 2019-04-12 11:14:07 +09:30
Saxon 22d71f8a57 protocol/rtcp: fixed writing of SenderSSRC in ReceiverReport header, now test passing. 2019-04-10 17:12:00 +09:30
Saxon 956110f0ef protocol/rtcp: wrote test for ReceiverReport.Bytes()
This uses data from a "good" packet that vlc used during a stream from a geovision. I have filled the fields
of a receiver report with the same data, and am checking that the result from Bytes() is the same as the
good data.
2019-04-10 16:54:01 +09:30
Saxon 139d4b92ab protocol/rtcp: added rtcp_test.go file with signatures for some likely tests 2019-04-10 16:33:12 +09:30
Saxon ddabd9afbf protocol/rtcp: wrote Bytes for for SourceDescription type 2019-04-10 16:29:40 +09:30
Saxon 5bdea4a09f protocol: moved rtcp protocol stuff to under protocol rather than under rtsp. 2019-04-10 15:22:38 +09:30