av/device/device.go now contains the AVDevice interface and implementations of this
interface, namely, raspivid, geovision, webcam and file are contained in the packages
av/device/raspivid, av/device/geovision, av/device/webcam and av/device/file
respctively. config.go and testing was also moved to a new package called config.go in
order to remove would be circular dependency between AVDevice implementations and revid.
Modifications were made elsewhere expecting config.Config to be part of the revid package.
Added a field called ch to hold the channel. Ch can be set using Channel option function.
Created default channel const and setting ch field in newSettings. Started making changes
to other option functions, namely CodecOut, subsequently, wrote testing for it."
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.
Added a file called gvctrl.go which holds all exported functions, including Set,
and the options available for use with Set. This file also holds important consts
and the settings struct. Also added a file called request.go, which houses 3
functions that are in charge of creating HTTP requests, firstly to get the log in
page from which a log in request body can be generated, then to submit the generated
log in request body, and then to submit the settings. Finally a utils.go file has
been added to house a few helper functions.
added license to lex.go
changed pcm functions to return alsa.Buffers
style, syntax and clarification added to audio.go
new method of finding buffersize in audio.go uses a new function called nearestPowerOfTwo
audio device input is now handle in its own package which resides in the new input directory
a list of codecs was added to codecutil package to help with multiple packages using the same codecs