Skip to content

Commit

Permalink
Opus 1.1.3, w/ framework generator and CocoaPod spec
Browse files Browse the repository at this point in the history
  • Loading branch information
Rob Phillips committed Nov 3, 2016
1 parent 4cb2bfa commit a2521ea
Show file tree
Hide file tree
Showing 14 changed files with 3,153 additions and 8 deletions.
54 changes: 49 additions & 5 deletions README.md
Expand Up @@ -2,14 +2,58 @@

> Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype's SILK codec and Xiph.Org's CELT codec.
iOS build scripts for the [Opus Codec](http://www.opus-codec.org). I am also working on an Objective-C wrapper called [OpusKit](https://github.com/chrisballinger/opuskit).
iOS build scripts for the [Opus Codec](http://www.opus-codec.org).

### Usage
## Usage

1. `$ bash build-libopus.sh`
2. Drag `dependencies/` into your Xcode project.
3. Enjoy!
1) (Objective-C) [Build the static library]()
2) (Optionally for Swift) [Build the framework]()
3) (Optionally) Use the [CocoaPod spec]()

## Building the Static Library

#### Step 1

Download the [latest stable tar file](http://opus-codec.org/downloads/) and place it into the `build/src` directory

Note: If it's a new version of opus or if the iOS SDKs changed since the last time you built it, update that version at the top of the `build-libopus.sh` file.

#### Step 2

From the command line, run:

```bash
$ ./build-libopus.sh
```

That will take the tar file and build the static library in a directory called `dependencies`

#### Step 3

Follow the steps above for building the framework from the static library


## Building the Framework

#### Step 1

Open the `opus/opus.xcodeproj` file, select `UniversalTarget` with a `Generic iOS Device`

#### Step 2

Build the framework by pressing Run; this will overwrite the framework in the repo root.

Note: this runs a custom build script within Build Phases that will build a universal framework with both simulator and device slices

If we have issues with submitting to the app store w/ the extra simulator slices, view this: http://arsenkin.com/ios-universal-framework.html / http://stackoverflow.com/a/30866648/308315

#### Step 3

Ensure the framework includes slices for both simulator and device architectures (x86_64 i386 armv7 armv7s arm64)

```bash
$ lipo -info opus.framework/opus
```

### License

Expand Down
6 changes: 3 additions & 3 deletions build-libopus.sh 100644 → 100755
Expand Up @@ -22,9 +22,9 @@
###########################################################################
# Choose your libopus version and your currently-installed iOS SDK version:
#
VERSION="1.1.2"
SDKVERSION="9.2"
MINIOSVERSION="8.0"
VERSION="1.1.3"
SDKVERSION="10.0"
MINIOSVERSION="9.0"

###########################################################################
#
Expand Down
12 changes: 12 additions & 0 deletions opus-ios.podspec
@@ -0,0 +1,12 @@
Pod::Spec.new do |spec|
spec.name = "opus-ios"
spec.summary = "A totally open, royalty-free, highly versatile audio codec."
spec.version = "1.1.3"
spec.homepage = "https://github.com/chrisballinger/Opus-iOS"
spec.authors = { "Chris Ballinger" => "chris@chatsecure.org" }
spec.source = { :git => "https://github.com/chrisballinger/Opus-iOS.git", :tag => "v" + spec.version.to_s }
spec.platform = :ios, "9.0"
spec.requires_arc = true
spec.license = { :type => "MIT", :file => "LICENSE" }
spec.vendored_frameworks = "opus.framework"
end

0 comments on commit a2521ea

Please sign in to comment.