Commit Graph

3764 Commits

Author SHA1 Message Date
Saxon 82d9e5e8bd codec/mjpeg: tidying up
Separated my code from code that was ported from ffmpeg (differen copyright). Also added utils.go file to house the putBuffer and bytestream types. Reduced copying and use of bytes.Buffer.
Instead expanded putBuffer functionality so that I can use this throughout process (reduce copying from buffer to buffer).
2019-11-23 15:25:18 +10:30
Saxon Milton 1382df4878 Merged in default-to-vbr (pull request #286)
revid: defaulting to VBR for camera devices

Approved-by: Alan Noble <anoble@gmail.com>
2019-11-22 07:13:40 +00:00
Saxon c2c0a576e6 using slice functions from sliceutils package 2019-11-22 17:38:30 +10:30
Saxon ed9f6f5336 fixed typo and also defaulting to CBR for RTMP with geovision 2019-11-22 17:38:30 +10:30
Saxon a6797a929d revid: defaulting to VBR for camera devices
Easiest way to do this is change VBR config field to CBR (therefore CBR defaults to false without having to do anything).
2019-11-22 17:38:30 +10:30
scruzin e45a6922b8 Merge branch 'master' of https://bitbucket.org/ausocean/av 2019-11-22 17:32:40 +10:30
Alan Noble f7fb7d0a42 Merged in deprecate-stringinslice (pull request #288)
Deprecate stringinslice (take 2)

Approved-by: Saxon Milton <saxon.milton@gmail.com>
Approved-by: Alan Noble <anoble@gmail.com>
2019-11-22 07:01:25 +00:00
scruzin d661b4b34e Use ausocean/utils v1.2.11. 2019-11-22 17:19:52 +10:30
scruzin b4570f1aa1 Use sliceUtils.ContainsString instead of stringInSlice. 2019-11-22 17:19:27 +10:30
scruzin f63eac7acc Use ausocean/utils v1.2.11. 2019-11-22 17:18:41 +10:30
scruzin 85c4c7857a Use sliceUtils.ContainsString instead of stringInSlice. 2019-11-22 17:18:11 +10:30
Alan Noble 41945c9868 Merged in additional-logging (pull request #283)
Log size along with ring buffer error

Approved-by: kortschak <dan@kortschak.io>
Approved-by: Saxon Milton <saxon.milton@gmail.com>
Approved-by: Alan Noble <anoble@gmail.com>
2019-11-22 03:28:05 +00:00
Alan Noble 47e621ad1f Merged in build-on-windows (pull request #285)
Make audio platform specific.

Approved-by: Trek Hopton <trek.hopton@gmail.com>
Approved-by: Saxon Milton <saxon.milton@gmail.com>
Approved-by: Alan Noble <anoble@gmail.com>
2019-11-22 03:22:25 +00:00
scruzin e233ac8fd8 Remove unused code. 2019-11-22 13:30:27 +10:30
scruzin d8ce6faa3c Remove unused package. 2019-11-22 13:27:25 +10:30
scruzin b67944b356 Fix name and remove comments. 2019-11-22 13:25:43 +10:30
scruzin 0cffead826 Remove unused package. 2019-11-22 13:25:24 +10:30
scruzin 7aa774a6c7 Make audio platform specific. 2019-11-22 13:22:23 +10:30
Saxon e467c7792d Fixed bugs, now working 2019-11-22 13:05:11 +10:30
Alan Noble db02c8daa2 Log n with ring buffer errors (in addition to size). 2019-11-22 02:19:21 +00:00
Alan Noble 1c2329d3a5 Merged in avdevice-name (pull request #284)
Added Name to AVDevice.

Approved-by: Saxon Milton <saxon.milton@gmail.com>
Approved-by: Alan Noble <anoble@gmail.com>
2019-11-22 01:57:43 +00:00
scruzin c49e716a59 Added Name to AVDevice. 2019-11-22 10:55:13 +10:30
scruzin 980e48c22c Log size along with ring buffer error. 2019-11-22 10:10:02 +10:30
Trek Hopton aff04e6ffa Merged in unexport-chunksize (pull request #281)
Unexport chunksize from ALSA device

Approved-by: kortschak <dan@kortschak.io>
Approved-by: Alan Noble <anoble@gmail.com>
2019-11-20 07:39:20 +00:00
Dan Kortschak 830d8ea647 protocol/rtp: add Timestamp parsing function 2019-11-20 14:20:22 +10:30
Saxon bee8cd270c codec/mjpeg/extract.go: wrote Extractor type
Wrote extractor type that provides an Extract function to extract JPEG frames from an RTP/MJPEG stream and writes them to a destination.
2019-11-20 13:40:07 +10:30
Trek H 58f3e810c1 Merge branch 'master' into unexport-chunksize 2019-11-17 00:04:31 +10:30
Trek Hopton 6e3f0f2a61 Merged in general-pcm (pull request #279)
General pcm

Approved-by: Alan Noble <anoble@gmail.com>
2019-11-16 13:32:39 +00:00
Trek H 395e8bf278 alsa: increase ring buffer timeout
Removed validate function.
2019-11-16 23:56:18 +10:30
Trek H 4b4b3cb2cb alsa: increase read timeout 2019-11-16 23:47:05 +10:30
Saxon eaac50f339 codec/mjpeg/jpeg.go: added writeHeader function to write JPEG header
This also included the addition of some lunimance and chrominance tables, a multiError type (implements error) and a putter type, that will put uint16s, bytes and "buffers" into a byte
slice.
2019-11-16 23:12:08 +10:30
Saxon a63cf5a1b7 codec/mjpeg/jpeg.go: added writeHuffman function to write JPEG huffman tables to an io.Writer. 2019-11-15 16:25:35 +10:30
Saxon 7577cfa0c4 codec/mjpeg/jpeg.go: added putMarker function to write JPEG marker codes to an io.Writer 2019-11-15 15:41:02 +10:30
Saxon f5b6af559f codec/mjpeg: added jpeg.go file to hold JPEG specific stuff and added some JPEG marker codes. 2019-11-15 15:11:53 +10:30
Trek H cd63d0d95a alsa: unexported ringbuffer chunksize
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.
2019-11-13 19:56:13 +10:30
Trek H d7a8d2bd87 Merge branch 'general-pcm' into unexport-chunksize 2019-11-13 17:15:38 +10:30
Trek H f2c9cc5881 alsa: renamed ALSA.buf to ALSA.pb since there are two buffers
Also elaborated on the difference in the comments.
2019-11-13 17:11:35 +10:30
Trek H 796a3b9a97 pcm: changed term clip to buffer 2019-11-13 16:54:41 +10:30
Saxon Milton 715585501e Merged in revid-use-devices (pull request #280)
revid: using AVDevice implementations as revid input

Approved-by: Alan Noble <anoble@gmail.com>
2019-11-13 06:03:58 +00:00
Saxon 9fc60a6842 revid: updated revid to use alsa package instead of audio (renamed audio->alsa) 2019-11-13 16:31:07 +10:30
Saxon 527472e934 revid/config/config.go: checking WriteRate as we need that for encoders 2019-11-13 14:11:29 +10:30
Saxon cf130de752 revid/config/config.go: need to check frame rate here too as revid needs it 2019-11-13 14:11:29 +10:30
Saxon 274f33e5b2 update go mod 2019-11-13 14:11:29 +10:30
Saxon 91e5e765f5 fix webcam bug and also consider webcam Input var value 2019-11-13 14:11:29 +10:30
Saxon 1a65dc9da4 fixing build errors and testing bugs + removed config_test.go as not relevant anymore 2019-11-13 14:11:29 +10:30
Saxon 0a059058a1 revid/config/config.go & config_test.go: simplified config and its validation
Not that alot of configuration is done by the device implementations, including validation,
we can remove alot of this from the config package here.
2019-11-13 14:11:29 +10:30
Saxon 866e398496 revid: move processFrom func and deletec inputs.go file
inputs.go can now go considering it only held "start functions" which have been replaced
by the AVDevice and it's implementations.
2019-11-13 14:11:29 +10:30
Saxon dec39a3636 revid: now using AVDevice implementations
Also renamed constructors of devices to reduce stutter e.g. raspivid.NewRaspivid to
raspivid.New
2019-11-13 14:11:29 +10:30
Trek H 3a7c2c5c5e pcm: removed unused sample formats 2019-11-13 14:00:52 +10:30
Trek H 678245c634 pcm: fix string format 2019-11-13 12:30:48 +10:30