A swift wrapper to use the Opus Interactive Audio Codec libopus API.
Intension of this project is to support audio player SDK with a platform independend XCFramework that can be integrated in swift projects via CocoaPod.
After integration just import YbridOpus in your Swift code.
It supports iOS devices and simulators (version 9 to 14) and macOS (versions 10.10 to 11.1)
We support version 1.3.1 of libopus API.
A new version of the xcframework can be created and released in the following way.
XCode, CocoaPods and Git are installed on your system.
The private pods repository is on your cocoa installation. Check this with pod repo, if not execute
pod repo add Private-Cocoapods [email protected]:ybrid/Private-Cocoapods.git
Git clone/pull this project onto your system.
Ensure the libraries ./opus/libs/libopus_*.a are up to date. If not, check the preconditions described in script ./prepare.sh and create new ones.
- In a terminal execute
./build.shin the root of the project. It updates YbridOpus.xcframework.
- In the root directory execute
./pod_check.sh. Repair errors if neccessary. - Alter the version number in
YbridOpus.podspec's source line - git commit everything
- Create a git tag with the exact name mentioned
git push --tagseverything- execute
./pod_push.shand stay ready to input your password several times
The new version should be visible in Private-Cocoapods.
We created the opus binaries for iOS and macOS from opus sources of version 1.3.1.
Opus is freely licensed under BSD, see details.
Both the reference implementation and the revised implementations on opus-codec.org are available under the three-clause BSD license. This BSD license is compatible with all common open source and commercial software licenses.
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of Internet Society, IETF or IETF Trust, nor the names of specific contributors, may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.