servo/gecko-media

Name: gecko-media

Owner: Servo

Description: Firefox's media playback stack in a stand alone Rust crate

Created: 2017-09-11 08:49:19.0

Updated: 2018-01-22 18:49:08.0

Pushed: 2018-01-18 23:42:50.0

Homepage: null

Size: 9118

Language: C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

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:

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

     gecko-media
    thon3 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!


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.