Commit Graph

43 Commits

Author SHA1 Message Date
David Sutton ee6046cab0 alsa.go: Add chunkingRead function to abstract reading from the alsa buffer (#440)
The chunkingRead function allows the record period to not impact on the recording buffer size of the audio. This should allow for less issues related to alsa buffer reading.
2024-05-16 15:53:00 +09:30
David Sutton c8f846f87d alsa: Fix sample rate negotiation (#441)
This change fixes the sample rate negotiation functionality, by making a comparison against the value of the slice and not the index.
2024-02-29 15:20:42 +10:30
Saxon Nelson-Milton fe2f091272 run gofmt 2022-11-06 17:25:28 +10:30
Saxon Nelson-Milton 5eb5992f15 using latest version of utils and using latest logging package 2022-05-27 15:42:58 +09:30
Trek H 563897eb8c alsa: error handling 2022-02-18 10:13:16 +10:30
Trek H 78279d4405 alsa: always return errors from ALSA.Read(), handle in Lex() 2022-02-18 10:10:01 +10:30
Trek H c5c1816607 alsa: close pool buffer on stop 2022-02-14 14:44:35 +10:30
Trek H f9a6bcc9dc alsa: return EOF from alsa.Read so that pauses can be detected and input stopped 2022-02-09 16:38:10 +10:30
Trek H 23e4607cc5 alsa: return n where applicable in alsa.Read 2022-02-09 16:21:02 +10:30
Trek H 1abca8cd7e alsa: removed use of pool buffer chunk, Read closes the chunk for us since it's a fully consuming read 2022-02-09 15:00:04 +10:30
Trek H eeef34e1fb alsa: don't stop recording if there's an unexpected ring buffer error 2022-02-02 17:07:18 +10:30
Trek H a0867331cb alsa: log number of bytes read 2022-02-01 14:13:25 +10:30
Trek H be35600571 alsa: check and handle common errors with pool buffer 2022-01-27 11:50:45 +10:30
Dan Kortschak fd7113860b device: fix incorrect uses of MultiError and guard against misuse 2022-01-13 16:08:02 +10:30
Dan Kortschak 7541015730
cmd/audio-netsender,device/alsa,revid: swap out ring buffer for pool buffer
Names of config fields have been left unchanged since they appear to be lexically
coupled to behaviour and so require greater care.
2021-05-17 11:15:38 +09:30
Trek H 778a19f939 codecutil, revid: made codecs represented as strings, updated where used 2021-02-22 15:15:30 +10:30
Trek H 1d67ab65a4 alsa: refactor DataSize function 2020-12-24 10:55:44 +10:30
Trek H 35e602748d alsa: pass codec to ring buffer size calc 2020-12-24 09:57:32 +10:30
Saxon Nelson-Milton 67a0771c32 device/alsa/alsa.go: removed OpenError 2020-12-14 15:56:33 +10:30
Trek H 744a33d6be alsa: improve error handling 2020-09-03 16:44:22 +09:30
Trek H c86e3c4ce9 alsa: improve error checking 2020-08-21 14:34:13 +09:30
Trek H a475b6f67f alsa: try requested channel 2020-08-21 14:13:15 +09:30
Trek H d9393b46b0 alsa: negotiate channels both stereo and mono, also fix error handling 2020-08-19 16:55:35 +09:30
Trek H abbe35d7a8 alsa: improve documentation 2020-08-13 16:23:19 +09:30
Trek H ba08c58af4 alsa: added comment for exported function DataSize 2020-08-13 15:42:28 +09:30
Trek H c394dc9d89 alsa, revid: reverted changes to revid and changed how ALSA implements Device 2020-08-13 15:28:59 +09:30
Trek H 53a55cc477 Merge branch 'master' into audio-order 2020-08-11 20:20:01 +09:30
Trek H adf5ddece1 revid, alsa: reorder audio setup 2020-08-11 20:17:52 +09:30
Trek H 5fe586913f alsa, revid: added correct device configuration and defaulting for audio 2020-08-11 11:43:17 +09:30
Saxon Milton 4cf155bbc2 Merged in correct-config-types (pull request #401)
Correct types of fields in revid/config/config.go Config struct
2020-05-02 03:55:13 +00:00
Scott 0bd21b9003 device/alsa: implement IsRunning method for alsa 2020-01-30 11:22:24 +10:30
Scott 9a0e52a8f3 device: add IsRunning method to device interface
This commit adds the IsRunning method to the AVDevice interface. It doesn't implement it yet, that will be for a future commit.
2020-01-29 09:28:44 +10:30
scruzin c49e716a59 Added Name to AVDevice. 2019-11-22 10:55:13 +10:30
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
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 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 5e472ba4c9 pcm: refactored to be general not alsa only
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.
2019-11-12 21:24:08 +10:30
Alan Noble cdc7755634 Fix license hyperlink in comment. 2019-11-12 05:34:16 +00:00
Trek H b6dd737034 device: audio package name changed to alsa
yobert/alsa imports changed to yalsa
directory and file names changed to reflect package name change
2019-11-12 13:28:53 +10:30