Giter Club home page Giter Club logo

alsa-oboe's Introduction

ALSA <-> Oboe I/O PCM Plugin

Description

ALSA's userspace library (alsa-lib) has a plugin system that allows for userspace software devices rather than a device backed by a kernel driver. This is already utilized for various plugins at the ALSA plugins repository, including the JACK and PulseAudio plugin which translate ALSA calls into their corresponding API, similar to what this plugin does.

This plugin allows using an unmodified version of alsa-lib to call into Oboe, a C++ library for high-performance audio on Android, allowing for any applications that use ALSA (such as Wine and SDL-based applications, which are the primary targets) to have functional audio on Android without any other changes.

Configuration (.asoundrc)

  • Basic: This will only support anything directly exposed by the plugin, that being mono/stereo S16/S24_3/S32/FLOAT LE @ 8kHz-48kHz audio.
pcm.!default {
    type oboe
    hint {
        show {
            @func refer
            name defaults.namehint.basic
        }
        description "Oboe PCM"
    }
}
  • Advanced: Adding plug in front of the plugin allows for any unsupported format, channel or rate to be automatically converted into a supported equivalent.
pcm.!default {
    type plug
    slave {
        pcm {
            type mmap_emul
            slave.pcm {
                type oboe
            }
        }
        format S16_LE
        rate unchanged
        channels unchanged
    }
    hint {
        show {
            @func refer
            name defaults.namehint.basic
        }
        description "Oboe PCM"
    }
}

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.