mirror of
https://github.com/servo/servo.git
synced 2025-07-22 23:03:42 +01:00
Send MediaSessionEvent::PlaybackStateChange when needed
This commit is contained in:
parent
3f6569447d
commit
761f21fc8b
1 changed files with 22 additions and 8 deletions
|
@ -67,7 +67,7 @@ use crate::script_thread::ScriptThread;
|
|||
use crate::task_source::TaskSource;
|
||||
use dom_struct::dom_struct;
|
||||
use embedder_traits::resources::{self, Resource as EmbedderResource};
|
||||
use embedder_traits::{MediaMetadata, MediaSessionEvent};
|
||||
use embedder_traits::{MediaMetadata, MediaSessionEvent, MediaSessionPlaybackState};
|
||||
use euclid::default::Size2D;
|
||||
use headers::{ContentLength, ContentRange, HeaderMapExt};
|
||||
use html5ever::{LocalName, Prefix};
|
||||
|
@ -1792,13 +1792,27 @@ impl HTMLMediaElement {
|
|||
};
|
||||
ScriptThread::await_stable_state(Microtask::MediaElement(task));
|
||||
},
|
||||
PlayerEvent::StateChanged(ref state) => match *state {
|
||||
PlaybackState::Paused => {
|
||||
if self.ready_state.get() == ReadyState::HaveMetadata {
|
||||
self.change_ready_state(ReadyState::HaveEnoughData);
|
||||
}
|
||||
},
|
||||
_ => {},
|
||||
PlayerEvent::StateChanged(ref state) => {
|
||||
let mut media_session_playback_state = MediaSessionPlaybackState::None_;
|
||||
match *state {
|
||||
PlaybackState::Paused => {
|
||||
media_session_playback_state = MediaSessionPlaybackState::Paused;
|
||||
if self.ready_state.get() == ReadyState::HaveMetadata {
|
||||
self.change_ready_state(ReadyState::HaveEnoughData);
|
||||
}
|
||||
},
|
||||
PlaybackState::Playing => {
|
||||
media_session_playback_state = MediaSessionPlaybackState::Playing;
|
||||
},
|
||||
_ => {},
|
||||
};
|
||||
println!(
|
||||
"Sending media session event playback state changed to {:?}",
|
||||
media_session_playback_state
|
||||
);
|
||||
self.send_media_session_event(MediaSessionEvent::PlaybackStateChange(
|
||||
media_session_playback_state,
|
||||
));
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue