mirror of
https://github.com/servo/servo.git
synced 2025-10-01 09:09:15 +01:00
Auto merge of #22522 - ferjm:av.playback.improvements, r=Manishearth
HTMLMediaElement backoff protocol and other improvements to a/v playback - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors This PR implements a backoff protocol to keep us from dropping frames whenever it's possible. It also add some other improvements like: - Clean up the implementation a little bit by adding all fetch request related state to `HTMLMediaElementFetchContext`. - Make sure that we ignore responses from old requests. - Set the stream to seekable iff there's support for range requests. This will likely change when we add the media cache. - Implements part of [step 8 of the seek spec](https://html.spec.whatwg.org/multipage/media.html#dom-media-seek) where we bail out if the stream is not seekable. <!-- 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/22522) <!-- Reviewable:end -->
This commit is contained in:
commit
b49e7517a3
3 changed files with 240 additions and 100 deletions
10
Cargo.lock
generated
10
Cargo.lock
generated
|
@ -3507,7 +3507,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "servo-media"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/media#35014baeb603b56b1b8b4de75919c58f7390cc30"
|
||||
source = "git+https://github.com/servo/media#c8cc491c850b18393586500233cc55e29800146c"
|
||||
dependencies = [
|
||||
"servo-media-audio 0.1.0 (git+https://github.com/servo/media)",
|
||||
"servo-media-gstreamer 0.1.0 (git+https://github.com/servo/media)",
|
||||
|
@ -3517,7 +3517,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "servo-media-audio"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/media#35014baeb603b56b1b8b4de75919c58f7390cc30"
|
||||
source = "git+https://github.com/servo/media#c8cc491c850b18393586500233cc55e29800146c"
|
||||
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)",
|
||||
|
@ -3534,7 +3534,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "servo-media-gstreamer"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/media#35014baeb603b56b1b8b4de75919c58f7390cc30"
|
||||
source = "git+https://github.com/servo/media#c8cc491c850b18393586500233cc55e29800146c"
|
||||
dependencies = [
|
||||
"byte-slice-cast 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"glib 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -3553,7 +3553,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "servo-media-player"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/media#35014baeb603b56b1b8b4de75919c58f7390cc30"
|
||||
source = "git+https://github.com/servo/media#c8cc491c850b18393586500233cc55e29800146c"
|
||||
dependencies = [
|
||||
"ipc-channel 0.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
@ -3640,7 +3640,7 @@ dependencies = [
|
|||
[[package]]
|
||||
name = "servo_media_derive"
|
||||
version = "0.1.0"
|
||||
source = "git+https://github.com/servo/media#35014baeb603b56b1b8b4de75919c58f7390cc30"
|
||||
source = "git+https://github.com/servo/media#c8cc491c850b18393586500233cc55e29800146c"
|
||||
dependencies = [
|
||||
"proc-macro2 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
"quote 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue