Commit Graph

2847 Commits

Author SHA1 Message Date
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 a8e56311c2 protocol/rtcp: addressing PR feedback 2019-04-19 14:15:43 +09:30
Trek H 46ca3e2611 revid: created an audioInput struct to record audio that acts as a reader for revid 2019-04-19 01:20:48 +09:30
Saxon d76b60a515 revid: addressing PR feedback 2019-04-18 18:31:49 +09:30
Trek H 8a1f35c0a5 revid: started modifying audio-netsender to be a general audio input 2019-04-18 16:59:48 +09:30
Saxon 74c995d452 revid: addressing PR feedback 2019-04-18 16:55:48 +09:30
Trek H 58b9458ff4 revid: added audio.go to handle sound cards and devices
audio.go will be used for recording sound from the sound card and mic
it is like audio-netsender but it is a package instead of a command
and without the netsender.
2019-04-18 16:22:20 +09:30
Saxon 1c5d3997bb revid: fixed indentation on Dan's name under authors 2019-04-18 16:21:18 +09:30
Saxon 68b996f698 protocol/rtsp: removed LICENSE.BSD file as license now in rtsp.go 2019-04-18 13:53:02 +09:30
Trek H e0ec6a8dc9 revid: added basic PCM lexer and started adding startMic() func to revid setup. 2019-04-17 23:11:23 +09:30
Saxon e87eadf8fd protocol/rtsp/rtsp.go: commenting and general clean up. 2019-04-17 18:31:03 +09:30
Saxon c9082c1b4c protocol/rtsp/rtsp.go: put tcp dial in new session
tcp dial is now in new session, firstly so that we don't have to do the s.conn == nil check and also so that we dont't have to pass around the url everywhere.
2019-04-17 12:45:02 +09:30
Saxon 85bb88c325 protocol/rtsp: removed README 2019-04-17 12:22:54 +09:30
Saxon 1bcf05830d protocol/rtsp: removing rtp package
We already have an rtp package, which I will extend with client functionality, so we don't need this here.
2019-04-17 12:20:36 +09:30
Saxon 02c11c234f protocol/rtsp/rtsp.go: added back beatgammits structs
Added them back because i realised I can't use http Requests and Responses and the accompanying methods because then this wouldn't be the RTSP protocol, it would be the HTTP protocol, which is not what we're doing.
2019-04-17 12:18:23 +09:30
Saxon 0543cb0968 protocol/rtsp/rtsp.go: got rid of NewRequest and put logic into writeRequest 2019-04-17 10:20:49 +09:30
Saxon 948e9a67e1 protocol/rtsp/rtsp.go: simplified RTSP method functions wrap a single writeRequest func 2019-04-17 09:05:34 +09:30
Saxon 6f4738a04c protocol/rtsp: removed sdp stuff
We won't be using this, at least not initially, so it's being deleted.
2019-04-17 08:15:52 +09:30
Saxon cd7e2ce3f3 protocol/rtsp: removed response writer interface, which was just http.ResponseWriter 2019-04-17 07:51:34 +09:30
Saxon d34eabcd34 protocol/rtcp/client.go: not using defer for simple setters/getters 2019-04-17 07:41:31 +09:30
Saxon 9de1b541a9 protocol/rtsp: removed unused stuff
Firstly removed unused RTSP method string consts. Also removed all the unused http response codes. Removed
ReadRequest, as this was also not used.
2019-04-16 23:32:50 +09:30
Saxon 4a97a626a0 protocol/rtsp: added beatgammits pkg and also my stream/main.go program
Most of this is unmodified except for the stream/main.go program. I am going to use this as a test that simply streams from an RTSP server to vlc.
2019-04-16 22:47:13 +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 9e55feafe7 protocol: removed rtsp stuff
For this branch we will only include efforts regarding rtcp.
2019-04-16 12:38:14 +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 Milton 6ee286e988 Merged in rtp-parsing (pull request #179)
protocol/rtp: can parse payload from RTP packet

Approved-by: Alan Noble <anoble@gmail.com>
Approved-by: kortschak <dan@kortschak.io>
2019-04-16 00:31:21 +00:00
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 e3c711d1f6 cmd/revid-cli: run failed log message to warning level 2019-04-15 13:13:01 +09:30
Saxon cea3a5958a revid: changed no location in reply log message to level debug 2019-04-15 13:09:56 +09:30
Saxon 56a9b7d6ef av: fixed broken tests 2019-04-15 11:43:46 +09:30
Saxon 3534d9031a av: updated go mod 2019-04-15 11:26:40 +09:30
Saxon 88431b1357 revid: made rtmpSender smarter with write error handling 2019-04-15 11:20:36 +09:30
Saxon d18373908b revid: added ringBuffer to rtmpSender 2019-04-15 10:48:12 +09:30
Saxon d75ea20137 revid: applying some feedback from last PR 2019-04-15 10:25:35 +09:30
Saxon f59879b51d revid: removed ringBuffer after lexer
Now that we want buffered senders (as required), the ringBuffer that was after the
lexer has been removed. Instead, we now have an ioext.multiWriterCloser to which the
lexer writes to. This then writes to the encoders, and then encoders write to each of
their own multiWriteClosers, which write to the appropriate senders. We now call
close on the first multiWriteCloser to close down the entired pipeline, as this close
call propogates through each level.

We have removed the outputClips routine as it's not required anymore to get data
from the revid ringBuffer, and have removed other things that were used by this, like
the IsRunning function.

We have also updated tests to work with these changes - they are passing.
2019-04-15 08:42:56 +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 Milton 899a2fe89e Merged in buffered-mts-sender (pull request #180)
revid: Buffered MtsSender

Approved-by: kortschak <dan@kortschak.io>
2019-04-14 01:44:53 +00:00
Saxon b347f2e9d1 revid: set revid.isRunning to false before waiting, because this is what triggers output routine to be killed. 2019-04-14 11:13:17 +09:30
Saxon 5cd12bff8a revid: dummyLogger in senders_test.go now uses pointer receiver for log 2019-04-13 20:41:47 +09:30
Saxon 9b48d22392 av: fixed conflicts with master 2019-04-13 20:15:08 +09:30
Saxon b6199988a3 av: updating go.sum 2019-04-13 20:06:16 +09:30
Saxon 90a059b37d av: now builds 2019-04-13 20:02:50 +09:30