Git Product home page Git Product logo

gecko-media's Introduction

Gecko Media Rust Crate

Build Status

Firefox's Media stack in a Rust crate.

Build with cargo build.

Run tests with cargo test.

A minimalistic player is also available:

$ cd examples
$ cargo run --bin test-player -- /path/to/some/audio-file.ogg

Procedure to update the imported code from Gecko

  1. A mozilla-central Gecko build is required. Optimizations and debug should be enabled. Example mozconfig file:

    ac_add_options --enable-optimize 
    ac_add_options --enable-debug 
    
  2. The import script has to be executed from the gecko-media directory:

    $ cd gecko-media
    $ python3 import.py /path/to/mozilla-central gecko/
    

    The gecko-media/gecko/src and gecko-media/gecko/include directories content will be removed and the source and header files declared in gecko-media/data/*.json will be copied back to those two directories.

  3. The import script will create a subfolder inside glue_diffs/ named with the upstream revision number you are updating to (i.e. glue_diffs/392049:f41930a869a8/). Inside this subfolder you may find a series of diff files. You need to apply these patches manually to the code inside gecko-media/gecko/glue. Some context about why this is needed can be found in this issue.

  4. Fix potential build errors!

gecko-media's People

Contributors

philn avatar ferjm avatar nox avatar cpearce avatar edunham avatar jdm avatar marmistrz avatar rtbo avatar

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.