Loop flag has been added to command line flags and in turn sets the Loop field that has been
added to the config.Config struct. mode variable now also checked to see if value set to
Loop, in which case revid config.Config.Loop = true. Revid.processFrom modified so that
when input source has completed Revid.cfg.Loop is checked and input restarted if true.
Chunksize can be calculated without needing an ALSA device instance.
Added a DataSize function to pcm package for calculating size of pcm data given relevant attributes.
Removed ChunkSize from config revid config struct.
Changed NewByteLexer to accept an in rather than a pointer.
Addition of new structs and helper functions for passing around pcm clips/buffers and their formats so that we don't have to import and rely on yobert/alsa code.
Updated any commands and alsa package to use refactored code.
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 required new params to config structure, and therefore also added new defaults and validation checking.
Also updated revid's update func so that we can control new parameters using vars. Now using gvctrl in
startRTSPCamera function and interpreting revid config to configure camera.
This change included a rename of IntraRefreshPeriod to MinPeriod, and the addition of the ClipDuration param. PSI are now written before IDR. Clips are no longer outputed
based on PSI but rather a time ClipDuration, where ClipDuration >= MinPeriod, however, PSI must still be at the beginning of each clip. Also created functionality to update
meta time even if we don't have a response to update.
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