Giter Site home page Giter Site logo

opus-rs's Introduction

libopus bindings

LICENSE Actions Status

It is a simple binding and safe abstraction over libopus.

Building

To build the code, always have a look at CI to install the necessary dependencies on all supported operating systems.

Building with vcpkg for Windows x64

To build with vcpkg, you need to follow these steps:

  1. Install pkg-config through chocolatey

    choco install pkgconfiglite
    
  2. Install opus

    vcpkg install opus:x64-windows
    
  3. Add to the PKG_CONFIG_PATH environment variable the path $VCPKG_INSTALLATION_ROOT\installed\x64-windows\lib\pkgconfig

  4. Build code

    cargo build --workspace
    

To speed up the computation, you can build your packages only in Release mode adding the set(VCPKG_BUILD_TYPE release) line to the $VCPKG_INSTALLATION_ROOT\triplets\x64-windows.cmake file.

Building for Windows x86 is the same, just replace x64 with x86 in the steps above.

TODO

  • Simple bindings
  • Safe abstraction
  • Examples

opus-rs's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar kpcyrd avatar lu-zero avatar luni-4 avatar mtorromeo avatar philipp-m avatar sdroege avatar xrmx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

opus-rs's Issues

High level abstraction

It provides a av-codec-compatible interface built upon the intermediate abstraction.

  • Decoding side
    • Basic support (i16-format stereo only)
    • Extended support (f32-format, proper channel mapping)
  • Encoding side
    • Basic support (i16-format stereo only)
    • Extended support (f32-format, proper channel mapping)

Intermediate abstraction

The intermediate abstraction provide a safe layer over the unsafe rust-bindgen bindings.

  • Decoding side
    • Allocation
    • Setup
    • Decoding
    • Query
    • Testing
  • Encoding side
    • Allocation
    • Setup
    • Encoding
    • Query
    • Testing

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.