Commit graph

172 commits

Author SHA1 Message Date
DataHoarder 3d5460c48a
Fix TestCodecFloat32
Some checks failed
continuous-integration/drone/push Build is failing
2022-07-21 15:06:34 +02:00
DataHoarder d0c3e3e655
Add Channels and Info methods on decoder 2022-07-21 15:06:17 +02:00
DataHoarder 4421c708d1
Add support for setting and getting the ogg muxing delay
Some checks failed
continuous-integration/drone/push Build is failing
2022-07-20 12:04:58 +02:00
DataHoarder afe0cd7874
Support more than 8 channels, set audio application 2022-07-20 11:41:29 +02:00
DataHoarder 6cc027f24d Use libopusenc to encode stream, WiP: tests
Some checks failed
continuous-integration/drone/push Build is failing
2022-02-27 18:56:08 +01:00
DataHoarder c9b07c6bec Added +build comment
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-30 01:33:20 +01:00
DataHoarder dcd55d6b5c Added Decoder.ReadStereo() / Decoder.ReadStereoFloat32() using stereo decoding API
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-27 17:26:36 +01:00
DataHoarder 88633d8444 Updated go build options on files
All checks were successful
continuous-integration/drone/push Build is passing
2022-01-27 17:21:09 +01:00
DataHoarder 12bf62a8f4 Add fork information, update CI
Some checks failed
continuous-integration/drone/push Build is failing
2022-01-27 17:19:10 +01:00
Hraban Luyat 1a9beeaf07 docs: fix markdown syntax (accidental org mode) 2021-10-31 00:23:53 +01:00
Hraban Luyat 2de6cff49f docs: explain container formats vs audio codec
This was a recurring issue, hopefully the new docs clarify the distinction.

Fixes #43
Fixes #23
Fixes #22
Fixes #20
Fixes #15
2021-10-31 00:19:03 +01:00
Jakub Skiba ab1467d638 readme: fix typo 2021-04-15 23:47:06 +01:00
Hraban Luyat d779bb1cc5 readme: fix types in example code blocks
Fixes hraban/opus#36.
2020-10-25 10:31:12 +00:00
Hraban Luyat e28f821448 docs: move PLC and FEC documentation to docstring
People are more likely to read the API docs than the README.
2020-07-10 14:27:58 +01:00
Victor Gaydov 66645e87c8 feat: add PLC support 2020-07-10 14:27:58 +01:00
Hraban Luyat 9cdd11edbd readme: update CI status badge to GH actions 2020-07-10 14:02:29 +01:00
Hraban Luyat ebf5305c62 chore: GH action for testing without libopusfile 2020-07-10 13:54:23 +01:00
Hraban Luyat efe2398686 chore: add Randy Reddig to AUTHORS list
He explicitly allowed me to license his contributions under MIT.

See https://github.com/hraban/opus/pull/24#issuecomment-656651657
2020-07-10 13:54:23 +01:00
Randy Reddig 25a249fbd5 feat: build without libopusfile using go build tag
This patch introduces a new build tag `nolibopusfile` that conditionally
compiles out the code that imports `libopusfile`. This enables a static
binary build on Alpine Linux, which doesn’t have a static `libopusfile`.

Tests still work:

```sh
go test -tags nolibopusfile ./...
go test ./...
```

We could also have moved all libopusfile related code (i.e. Stream) into
a separate sub-package, but that would break backwards compatibility.
This feature is too unpopular to justify introducing a new major
version.

See also: https://github.com/hraban/opus/pull/24
2020-07-10 13:54:23 +01:00
Hraban Luyat 558c065b07
chore: use GitHub actions for CI (#30)
* remove Travis CI integration
* use github actions instead
2020-07-10 13:25:57 +01:00
Hraban Luyat f10c96b8f4 refactor: remove unnecessary callback passing
Since we now have a full function wrapper for libopusfile init anyway we
can directly pass the callback struct pointer from there, instead of
making it go through Go first.
2020-07-10 09:44:22 +01:00
Hraban Luyat 2a2b57e79d fix: wrap libopusfile init call for go test -race
Since go 1.14 the race checker includes an overzealous pointer checker.
It marks all conversions from uintptr to unsafe.Pointer as an error, but
in reality that's allowed as long as you never dereference the pointer
or do any arithmetic on it. The C compiler doesn't complain about this,
so we pass the uintptr value to C and convert it there, in a small
wrapper function.

See https://groups.google.com/g/golang-nuts/c/995uZyRPKlU for more
details.

Fixes hraban/opus#28
2020-07-10 09:40:35 +01:00
Hraban Luyat f08db0e111 docs: Update copyright notice 2020-07-09 17:23:21 +01:00
Victor Gaydov 57179dff69 Fix memory corruption 2019-11-17 10:34:31 +03:00
Hraban Luyat 0f2e0b4fc6
Merge pull request #18 from stop-start/forward-error-correction
Forward error correction.

Closes hraban/opus#17
2018-04-26 10:39:20 +01:00
elinor 5429761d87 Readme and godoc strings 2018-04-02 15:54:07 +03:00
elinor 5745b2b2ae Fixed wrong error message 2018-04-02 15:15:27 +03:00
elinor 479042b353 Comparing samples returned from decode with frame size in fec tests 2018-04-02 14:38:09 +03:00
elinor 028b653863 Changed frame size to 10ms and number of frames const
Checked again the result graph
2018-04-02 14:26:29 +03:00
elinor 101f2cb538 Naming convention fix in decoder.go 2018-04-02 14:03:27 +03:00
elinor bd2f797822 ran gofmt 2018-04-02 13:56:04 +03:00
elinor 216d1cead2 Added invalid packet loss test in encode_test.go 2018-04-02 13:51:19 +03:00
elinor cec5e2771a Changed comments in opus_test.go 2018-04-02 13:49:26 +03:00
elinor 26bb951aeb (Set)InBandFEC - changed tests to use bool instead of int 2018-04-02 13:47:53 +03:00
elinor 865db73fad (Set)InBandFEC - set and return bool instead of int 2018-04-02 13:31:07 +03:00
Hraban Luyat 1edf20bdd0 Travis: Check gofmt of all files 2018-03-30 19:13:29 +01:00
elinor c41fdcef95 Added myself to autthors 2018-03-26 10:42:45 +03:00
elinor 68fb7a26d9 Added decodeFECFloat32 + test 2018-03-26 10:39:25 +03:00
elinor 5ba421ac73 Added decode with fec + test 2018-03-26 10:33:31 +03:00
elinor 5822db34bb Added get last packet duration in decoder ctls 2018-03-26 07:54:20 +03:00
elinor 01412cbea5 Added packet loss and inband fec encoder ctls 2018-03-26 07:40:41 +03:00
Hraban Luyat ffc1be2bfb Err vars declared const, direct from preprocessor
Same as previous commit c490b1f
2018-03-11 18:45:21 +00:00
Hraban Luyat c490b1f079 Directly access preprocessor directives
Closes issue hraban/opus#9. To be honest I'm not 100% why I didn't do it
this way in the first place. Three years have passed, something was
probably fixed in CGo, or maybe I was just wrong about this not being
possible, all along. Either way, it works on my machine, so that's all
the testing you need to do, right?
2018-03-11 18:37:16 +00:00
Hraban Luyat b85e55eab8 Fix string format error in test 2018-03-11 18:36:44 +00:00
Hraban Luyat ccc8338e7a Merge pull request #14 from DocMerlin/patch-1
Fix comment typo.
2017-07-31 09:08:58 +01:00
DocMerlin 6deaeb0206 Fix comment typo.
Fixes a comment typo
2017-07-30 23:50:19 -05:00
Hraban Luyat 629543142d README: clarify stereo vs mono in decoding api 2017-07-23 23:38:36 +01:00
Hraban Luyat cc6c1c4f38 README: Example for file & stream handling 2017-05-19 22:41:53 +01:00
Hraban Luyat 61420e3073 Merge pull request #13 from hraban/bare-import-path
Update import path to pkg-config style
2017-02-28 01:03:35 +00:00
Hraban Luyat 6c08ee0d19 Update import path to pkg-config style
pkg-config --cflags always puts you in the opus/ directory where opus.h
directly lives. No need to prefix with opus/. That just happened to work
because it was symlinked into /usr/include/opus, but we don't need to
rely on that now that we're using pkg-config.

Based on Tobias Wellnitz's comment (hraban/opus#12)
2017-02-28 00:56:50 +00:00