summaryrefslogtreecommitdiff
path: root/soundbox
AgeCommit message (Collapse)Author
2024-11-27Handle read error after processing bufferxegineering
This is recommended by the Go standard library. One reason is that a Reader might deliver the last couple of bytes together with the EOF error. This is only handled correctly if the returned bytes are processed first and the error is handled later. [1]: https://pkg.go.dev/io#Reader
2024-11-27Introduce io.Reader-based streamContext()xegineering
This prepares the switch to adding more sources than web URLs. Everything providing an io.Reader can then simply use this internal function in the background to avoid code duplication.
2024-11-17Fix streaming only via first interface candidatexegineering
2024-11-10Avoid unnecessary variable for argsxegineering
2024-11-10Use Go code for output network streamxegineering
Calling the external program `ffmpeg` should be avoided completely in the future to make soundbox-go a pure Go code base. `ffmpeg` provides the following functionality to soundbox-go: - web radio input stream transport - re-encoding of the audio stream - output stream transport to soundbox devices The last part should be replaced with this commit as a first step.
2024-11-08Rename cmd to argsxegineering
This variable only contains the arguments for the called program. Thus it should be named like this.
2024-10-31Change module name and restructure contentv0.1.2xegineering
The repository names for soundbox are named as below: - app: soundbox-app - Go library module: soundbox-go - Device: soundbox The Go module names were: - app: xengineering.eu/soundbox/app - Go library module: xengineering.eu/soundbox This does not make clear which module is related to which repository since the names are different. Thus it should be changed to: - app: xengineering.eu/soundbox-app - Go library module: xengineering.eu/soundbox-go The import statement for the library is then: import "xengineering.eu/soundbox-go/soundbox" This is a bit longer but it keeps the property that the library is referenced inside the code by the simple name `soundbox`.
2024-10-01Make soundbox package top-levelxegineering
It is not expected that this library will be so big that multiple packages make sense. Thus it should start only with the main package.
2024-10-01Add minimal soundbox Go packagexegineering
This only adds the `Soundbox` struct type which has a `net.HardwareAddr` to identify it together with a constructor and a unit test.