Auto merge of #23997 - collares:audiobuffersourcenode, r=ferjm

Implement missing functionality of AudioBufferSourceNode

<!-- Please describe your changes on the following line: -->
This is a tiny PR to support [Media #293](https://github.com/servo/media/pull/293). Last time I ran WPT there was only one failing AudioBufferSourceNode test (which I will debug later this week). Once I rebased, however, I started getting unrelated servo-media build failures:

```
error[E0599]: no method named `shutdown_audio_context` found for type `std::sync::Arc<servo_media::ServoMedia>` in the current scope
   --> components/script/dom/baseaudiocontext.rs:566:14

error[E0599]: no method named `shutdown_player` found for type `std::sync::Arc<servo_media::ServoMedia>` in the current scope
    --> components/script/dom/htmlmediaelement.rs:1866:18
```

I wanted to get this PR up so https://github.com/servo/media/pull/293 can be tested. When the unrelated build failures are fixed, I will run `./mach update-wpt` and update this PR.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [X] `./mach build -d` only reports unrelated errors (broken servo/media master?)
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #22363

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23997)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2019-08-22 20:57:49 -04:00 committed by GitHub
commit cacd4ed4e2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 67 additions and 474 deletions

22
Cargo.lock generated
View file

@ -4239,7 +4239,7 @@ dependencies = [
[[package]]
name = "servo-media"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"servo-media-audio 0.1.0 (git+https://github.com/servo/media)",
"servo-media-player 0.1.0 (git+https://github.com/servo/media)",
@ -4251,7 +4251,7 @@ dependencies = [
[[package]]
name = "servo-media-audio"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4268,7 +4268,7 @@ dependencies = [
[[package]]
name = "servo-media-dummy"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4283,7 +4283,7 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4318,7 +4318,7 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer-render"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gstreamer-video 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4328,7 +4328,7 @@ dependencies = [
[[package]]
name = "servo-media-gstreamer-render-unix"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
"gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4341,7 +4341,7 @@ dependencies = [
[[package]]
name = "servo-media-player"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"ipc-channel 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 1.0.88 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4353,7 +4353,7 @@ dependencies = [
[[package]]
name = "servo-media-streams"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"uuid 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4362,12 +4362,12 @@ dependencies = [
[[package]]
name = "servo-media-traits"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
[[package]]
name = "servo-media-webrtc"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"boxfnonce 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
@ -4466,7 +4466,7 @@ dependencies = [
[[package]]
name = "servo_media_derive"
version = "0.1.0"
source = "git+https://github.com/servo/media#ac8336c93270b30e556a92df3002626711ef23ff"
source = "git+https://github.com/servo/media#86b9a2892af3774e42243ac84394a052719b2bf6"
dependencies = [
"proc-macro2 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",