]> Sergey Matveev's repositories - go-opus.git/log
go-opus.git
4 weeks agoBuild libopus statically v2 v2.1.0
Sergey Matveev [Sun, 14 Apr 2024 09:53:39 +0000 (12:53 +0300)]
Build libopus statically

4 weeks agoDecoder.SetComplexity v2.0.0
Sergey Matveev [Thu, 11 Apr 2024 17:23:26 +0000 (20:23 +0300)]
Decoder.SetComplexity

4 weeks agogo.mod
Sergey Matveev [Thu, 11 Apr 2024 17:23:15 +0000 (20:23 +0300)]
go.mod

7 months agofeat: add reset encoder method
Igor Ermakov [Mon, 25 Sep 2023 10:53:27 +0000 (13:53 +0300)]
feat: add reset encoder method

10 months agofeat: Implement InDTX for Encoder
Kevin Caffrey [Wed, 7 Jun 2023 23:13:10 +0000 (19:13 -0400)]
feat: Implement InDTX for Encoder

2 years agodocs: update copyright year to 2022
Hraban Luyat [Wed, 2 Mar 2022 20:21:09 +0000 (15:21 -0500)]
docs: update copyright year to 2022

Substantial change to documentation.

2 years agodocs: add clear list of features and non-features
Hraban Luyat [Wed, 2 Mar 2022 20:19:21 +0000 (15:19 -0500)]
docs: add clear list of features and non-features

2 years agodocs: fix markdown syntax (accidental org mode)
Hraban Luyat [Sat, 30 Oct 2021 23:22:24 +0000 (00:22 +0100)]
docs: fix markdown syntax (accidental org mode)

2 years agodocs: explain container formats vs audio codec
Hraban Luyat [Thu, 28 Oct 2021 16:58:58 +0000 (12:58 -0400)]
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

3 years agoreadme: fix typo
Jakub Skiba [Thu, 15 Apr 2021 17:34:50 +0000 (19:34 +0200)]
readme: fix typo

3 years agoreadme: fix types in example code blocks
Hraban Luyat [Sun, 25 Oct 2020 10:29:00 +0000 (10:29 +0000)]
readme: fix types in example code blocks

Fixes hraban/opus#36.

3 years agodocs: move PLC and FEC documentation to docstring
Hraban Luyat [Fri, 10 Jul 2020 13:25:01 +0000 (14:25 +0100)]
docs: move PLC and FEC documentation to docstring

People are more likely to read the API docs than the README.

3 years agofeat: add PLC support
Victor Gaydov [Tue, 12 Nov 2019 13:52:13 +0000 (16:52 +0300)]
feat: add PLC support

3 years agoreadme: update CI status badge to GH actions
Hraban Luyat [Fri, 10 Jul 2020 13:00:15 +0000 (14:00 +0100)]
readme: update CI status badge to GH actions

3 years agochore: GH action for testing without libopusfile
Hraban Luyat [Fri, 10 Jul 2020 12:47:04 +0000 (13:47 +0100)]
chore: GH action for testing without libopusfile

3 years agochore: add Randy Reddig to AUTHORS list
Hraban Luyat [Fri, 10 Jul 2020 12:40:59 +0000 (13:40 +0100)]
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

3 years agofeat: build without libopusfile using go build tag
Randy Reddig [Tue, 13 Aug 2019 21:31:57 +0000 (14:31 -0700)]
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

3 years agochore: use GitHub actions for CI (#30)
Hraban Luyat [Fri, 10 Jul 2020 12:25:57 +0000 (13:25 +0100)]
chore: use GitHub actions for CI (#30)

* remove Travis CI integration
* use github actions instead

3 years agorefactor: remove unnecessary callback passing
Hraban Luyat [Fri, 10 Jul 2020 08:44:22 +0000 (09:44 +0100)]
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.

3 years agofix: wrap libopusfile init call for go test -race
Hraban Luyat [Fri, 10 Jul 2020 08:37:18 +0000 (09:37 +0100)]
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

3 years agodocs: Update copyright notice
Hraban Luyat [Thu, 9 Jul 2020 16:22:12 +0000 (17:22 +0100)]
docs: Update copyright notice

4 years agoFix memory corruption
Victor Gaydov [Tue, 12 Nov 2019 13:19:04 +0000 (16:19 +0300)]
Fix memory corruption

6 years agoMerge pull request #18 from stop-start/forward-error-correction
Hraban Luyat [Thu, 26 Apr 2018 09:39:20 +0000 (10:39 +0100)]
Merge pull request #18 from stop-start/forward-error-correction

Forward error correction.

Closes hraban/opus#17

6 years agoReadme and godoc strings
elinor [Mon, 2 Apr 2018 12:54:07 +0000 (15:54 +0300)]
Readme and godoc strings

6 years agoFixed wrong error message
elinor [Mon, 2 Apr 2018 12:15:27 +0000 (15:15 +0300)]
Fixed wrong error message

6 years agoComparing samples returned from decode with frame size in fec tests
elinor [Mon, 2 Apr 2018 11:38:09 +0000 (14:38 +0300)]
Comparing samples returned from decode with  frame size in fec tests

6 years agoChanged frame size to 10ms and number of frames const
elinor [Mon, 2 Apr 2018 11:26:29 +0000 (14:26 +0300)]
Changed frame size to 10ms and number of frames const

Checked again the result graph

6 years agoNaming convention fix in decoder.go
elinor [Mon, 2 Apr 2018 11:03:27 +0000 (14:03 +0300)]
Naming convention fix  in decoder.go

6 years agoran gofmt
elinor [Mon, 2 Apr 2018 10:56:04 +0000 (13:56 +0300)]
ran gofmt

6 years agoAdded invalid packet loss test in encode_test.go
elinor [Mon, 2 Apr 2018 10:51:19 +0000 (13:51 +0300)]
Added invalid packet loss test in encode_test.go

6 years agoChanged comments in opus_test.go
elinor [Mon, 2 Apr 2018 10:49:26 +0000 (13:49 +0300)]
Changed comments in opus_test.go

6 years ago(Set)InBandFEC - changed tests to use bool instead of int
elinor [Mon, 2 Apr 2018 10:47:53 +0000 (13:47 +0300)]
(Set)InBandFEC - changed tests to use bool instead of int

6 years ago(Set)InBandFEC - set and return bool instead of int
elinor [Mon, 2 Apr 2018 10:31:07 +0000 (13:31 +0300)]
(Set)InBandFEC - set and return bool instead of int

6 years agoTravis: Check gofmt of all files
Hraban Luyat [Fri, 30 Mar 2018 18:09:17 +0000 (19:09 +0100)]
Travis: Check gofmt of all files

6 years agoAdded myself to autthors
elinor [Mon, 26 Mar 2018 07:42:45 +0000 (10:42 +0300)]
Added myself to autthors

6 years agoAdded decodeFECFloat32 + test
elinor [Mon, 26 Mar 2018 07:39:25 +0000 (10:39 +0300)]
Added decodeFECFloat32 + test

6 years agoAdded decode with fec + test
elinor [Mon, 26 Mar 2018 07:33:31 +0000 (10:33 +0300)]
Added decode with fec + test

6 years agoAdded get last packet duration in decoder ctls
elinor [Mon, 26 Mar 2018 04:54:20 +0000 (07:54 +0300)]
Added get last packet duration in decoder ctls

6 years agoAdded packet loss and inband fec encoder ctls
elinor [Mon, 26 Mar 2018 04:40:41 +0000 (07:40 +0300)]
Added packet loss and inband fec encoder  ctls

6 years agoErr vars declared const, direct from preprocessor
Hraban Luyat [Sun, 11 Mar 2018 18:45:21 +0000 (18:45 +0000)]
Err vars declared const, direct from preprocessor

Same as previous commit c490b1f

6 years agoDirectly access preprocessor directives
Hraban Luyat [Sun, 11 Mar 2018 18:37:16 +0000 (18:37 +0000)]
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?

6 years agoFix string format error in test
Hraban Luyat [Sun, 11 Mar 2018 18:36:44 +0000 (18:36 +0000)]
Fix string format error in test

6 years agoMerge pull request #14 from DocMerlin/patch-1
Hraban Luyat [Mon, 31 Jul 2017 08:08:58 +0000 (09:08 +0100)]
Merge pull request #14 from DocMerlin/patch-1

Fix comment typo.

6 years agoFix comment typo.
DocMerlin [Mon, 31 Jul 2017 04:50:19 +0000 (23:50 -0500)]
Fix comment typo.

Fixes a comment typo

6 years agoREADME: clarify stereo vs mono in decoding api
Hraban Luyat [Sun, 23 Jul 2017 22:37:53 +0000 (23:37 +0100)]
README: clarify stereo vs mono in decoding api

6 years agoREADME: Example for file & stream handling
Hraban Luyat [Fri, 19 May 2017 21:39:16 +0000 (22:39 +0100)]
README: Example for file & stream handling

7 years agoMerge pull request #13 from hraban/bare-import-path
Hraban Luyat [Tue, 28 Feb 2017 01:03:35 +0000 (01:03 +0000)]
Merge pull request #13 from hraban/bare-import-path

Update import path to pkg-config style

7 years agoUpdate import path to pkg-config style
Hraban Luyat [Tue, 28 Feb 2017 00:56:11 +0000 (00:56 +0000)]
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)

7 years agoUpdate godoc links to gopkg.in...v2
Hraban Luyat [Wed, 11 Jan 2017 12:55:08 +0000 (12:55 +0000)]
Update godoc links to gopkg.in...v2

7 years agoUpdate godoc on updated method names
Hraban Luyat [Wed, 11 Jan 2017 00:46:08 +0000 (00:46 +0000)]
Update godoc on updated method names

7 years agoV2 released, remove warning from README
Hraban Luyat [Wed, 11 Jan 2017 00:36:32 +0000 (00:36 +0000)]
V2 released, remove warning from README

7 years agoVersion 2
Hraban Luyat [Wed, 11 Jan 2017 00:34:46 +0000 (00:34 +0000)]
Version 2

Breaking changes (improvements πŸ™‚) to the API.

7 years agoUpdate all copyright to 2017
Hraban Luyat [Wed, 11 Jan 2017 00:33:51 +0000 (00:33 +0000)]
Update all copyright to 2017

7 years agoREADME: v2 import syntax
Hraban Luyat [Wed, 11 Jan 2017 00:09:38 +0000 (00:09 +0000)]
README: v2 import syntax

7 years agoClearer function names for SetBitrateTo*()
Hraban Luyat [Wed, 11 Jan 2017 00:05:02 +0000 (00:05 +0000)]
Clearer function names for SetBitrateTo*()

There is also a MaxBitrate property; once implemented that would become
SetMaxBitrate(). Too confusing to also have SetBitrateMax(). The extra
To hopefully helps disambiguate.

7 years agoRemove obsolete constants
Hraban Luyat [Wed, 11 Jan 2017 00:03:01 +0000 (00:03 +0000)]
Remove obsolete constants

7 years agoMerge commit '39af50e' into v2
Hraban Luyat [Wed, 11 Jan 2017 00:01:16 +0000 (00:01 +0000)]
Merge commit '39af50e' into v2

7 years agoREADME: camelCase
Hraban Luyat [Fri, 6 Jan 2017 22:10:15 +0000 (22:10 +0000)]
README: camelCase

7 years agoUpdate copyright year to 2015-2017. πŸŽ†
Hraban Luyat [Sun, 1 Jan 2017 23:35:30 +0000 (23:35 +0000)]
Update copyright year to 2015-2017. πŸŽ†

7 years agoBREAKING: UseDTX -> SetDTX
Hraban Luyat [Fri, 30 Dec 2016 22:54:41 +0000 (22:54 +0000)]
BREAKING: UseDTX -> SetDTX

7 years agoBREAKING: Return error vals in encoder CTL API
Hraban Luyat [Fri, 30 Dec 2016 22:49:17 +0000 (22:49 +0000)]
BREAKING: Return error vals in encoder CTL API

Wasn't right to ignore these

7 years agoNo local var in bridge functions
Hraban Luyat [Fri, 30 Dec 2016 22:32:09 +0000 (22:32 +0000)]
No local var in bridge functions

7 years agoWoops fix tests. Thanks Travis.
Hraban Luyat [Fri, 30 Dec 2016 19:32:33 +0000 (19:32 +0000)]
Woops fix tests. Thanks Travis.

7 years agoConsistency in bandwidth constant names
Hraban Luyat [Fri, 30 Dec 2016 19:26:39 +0000 (19:26 +0000)]
Consistency in bandwidth constant names

7 years agoExplain licensing in AUTHORS file
Hraban Luyat [Fri, 30 Dec 2016 19:22:14 +0000 (19:22 +0000)]
Explain licensing in AUTHORS file

7 years agoMerge pull request #10 from dh1tw/master
Hraban Luyat [Fri, 30 Dec 2016 19:20:16 +0000 (19:20 +0000)]
Merge pull request #10 from dh1tw/master

New encoder controls: Bitrate, Bandwidth and Complexity.

Fixes #6 .

7 years agofixed typos
dh1tw [Fri, 30 Dec 2016 18:46:26 +0000 (19:46 +0100)]
fixed typos

7 years agoreverted to using types for enums; added SetBitrateMax and SetBitrateAuto
dh1tw [Fri, 30 Dec 2016 17:55:25 +0000 (18:55 +0100)]
reverted to using types for enums; added SetBitrateMax and SetBitrateAuto

7 years agochecking also error string
dh1tw [Fri, 30 Dec 2016 15:06:27 +0000 (16:06 +0100)]
checking also error string

7 years agoadded new encoder methods & tests
dh1tw [Fri, 30 Dec 2016 14:57:37 +0000 (15:57 +0100)]
added new encoder methods & tests

7 years agoDeprecation comments more noticeable in godoc.org
Hraban Luyat [Thu, 29 Dec 2016 14:53:04 +0000 (14:53 +0000)]
Deprecation comments more noticeable in godoc.org

7 years agoMerge pull request #7 from hraban/bfitzfeedback
Hraban Luyat [Thu, 29 Dec 2016 14:46:03 +0000 (14:46 +0000)]
Merge pull request #7 from hraban/bfitzfeedback

Brad Fitzpatrick feedback on naming

7 years agoExplicit about when deprecated names are removed
Hraban Luyat [Thu, 29 Dec 2016 12:30:29 +0000 (12:30 +0000)]
Explicit about when deprecated names are removed

7 years agoUse new error var names in tests
Hraban Luyat [Thu, 29 Dec 2016 12:25:40 +0000 (12:25 +0000)]
Use new error var names in tests

7 years agoCamelCase Application constants
Hraban Luyat [Thu, 29 Dec 2016 12:05:22 +0000 (12:05 +0000)]
CamelCase Application constants

7 years agoExport error type, CamelCase error names
Hraban Luyat [Thu, 29 Dec 2016 11:58:57 +0000 (11:58 +0000)]
Export error type, CamelCase error names

7 years agoREADME: debian package names for non-dev
Hraban Luyat [Thu, 29 Dec 2016 00:28:31 +0000 (00:28 +0000)]
README: debian package names for non-dev

7 years agoREADME: How to use in dockerized app
Hraban Luyat [Mon, 26 Dec 2016 15:30:14 +0000 (15:30 +0000)]
README: How to use in dockerized app

7 years agos/obvious/cleaner/
Hraban Luyat [Wed, 2 Nov 2016 16:08:37 +0000 (16:08 +0000)]
s/obvious/cleaner/

7 years agoDon't put --static in pkg-config
Hraban Luyat [Wed, 2 Nov 2016 16:06:30 +0000 (16:06 +0000)]
Don't put --static in pkg-config

Didn't work, anyway.

7 years agoDynamic linking explanation
Hraban Luyat [Wed, 2 Nov 2016 16:05:51 +0000 (16:05 +0000)]
Dynamic linking explanation

7 years agoClearer intro in README
Hraban Luyat [Thu, 27 Oct 2016 16:06:55 +0000 (17:06 +0100)]
Clearer intro in README

7 years agoOgg, not Vorbis. :)
Hraban Luyat [Thu, 27 Oct 2016 15:54:43 +0000 (16:54 +0100)]
Ogg, not Vorbis. :)

7 years agoMerge remote-tracking branch 'refs/remotes/origin/master'
Hraban Luyat [Thu, 27 Oct 2016 15:40:30 +0000 (16:40 +0100)]
Merge remote-tracking branch 'refs/remotes/origin/master'

7 years agoNote (without example) about Stream in README
Hraban Luyat [Thu, 27 Oct 2016 15:39:39 +0000 (16:39 +0100)]
Note (without example) about Stream in README

7 years agoTravis-CI build status image in README
Hraban Luyat [Fri, 14 Oct 2016 13:20:32 +0000 (14:20 +0100)]
Travis-CI build status image in README

7 years agoREADME: Correct frame size for stereo decoding
Hraban Luyat [Mon, 10 Oct 2016 15:39:18 +0000 (16:39 +0100)]
README: Correct frame size for stereo decoding

7 years agoUpdate README with stereo vs mono
Hraban Luyat [Mon, 10 Oct 2016 15:35:39 +0000 (16:35 +0100)]
Update README with stereo vs mono

7 years agoUnit test for stereo sound
Hraban Luyat [Mon, 10 Oct 2016 15:18:03 +0000 (16:18 +0100)]
Unit test for stereo sound

7 years agoChange copyright headers to refer to AUTHORS file
Hraban Luyat [Mon, 10 Oct 2016 14:24:24 +0000 (15:24 +0100)]
Change copyright headers to refer to AUTHORS file

7 years agoReorganize test code
Hraban Luyat [Mon, 10 Oct 2016 14:21:54 +0000 (15:21 +0100)]
Reorganize test code

7 years agoFix pkg-config name for opusfile related source
Hraban Luyat [Mon, 10 Oct 2016 14:16:49 +0000 (15:16 +0100)]
Fix pkg-config name for opusfile related source

Stream.go is the wrapper around libopusfile, not libopus.

7 years agoMake opus errors wrapped ints, expose names
Hraban Luyat [Mon, 10 Oct 2016 13:18:10 +0000 (14:18 +0100)]
Make opus errors wrapped ints, expose names

Allows comparing error values by value instead of just by human readable
string.

7 years agoREADME headers
Hraban Luyat [Fri, 9 Sep 2016 22:58:23 +0000 (23:58 +0100)]
README headers

7 years agoElaborate on stream comment
Hraban Luyat [Fri, 2 Sep 2016 10:38:03 +0000 (11:38 +0100)]
Elaborate on stream comment

7 years agoGodoc for stream functions
Hraban Luyat [Fri, 2 Sep 2016 10:32:35 +0000 (11:32 +0100)]
Godoc for stream functions

7 years agoDocumentation for public encoder methods
Hraban Luyat [Tue, 30 Aug 2016 16:50:19 +0000 (17:50 +0100)]
Documentation for public encoder methods

7 years agoEncoder.SampleRate() method reports sample rate
Hraban Luyat [Tue, 30 Aug 2016 16:47:52 +0000 (17:47 +0100)]
Encoder.SampleRate() method reports sample rate

7 years agoRename GetDTX() to DTX() (more go-like)
Hraban Luyat [Tue, 30 Aug 2016 16:28:04 +0000 (17:28 +0100)]
Rename GetDTX() to DTX() (more go-like)

Breaks the API :/ doing it sooner rather than later to avoid impacting
too many people.

Sorry though!

7 years agoGo error in readme
Hraban Luyat [Tue, 30 Aug 2016 16:17:18 +0000 (17:17 +0100)]
Go error in readme