mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Update servo-media: handle decoder errors and use safer/nicer player API
This commit is contained in:
parent
e31339245c
commit
0db628028a
3 changed files with 10 additions and 11 deletions
|
@ -461,7 +461,7 @@ impl BaseAudioContextMethods for BaseAudioContext {
|
|||
}),
|
||||
&canceller,
|
||||
);
|
||||
}).error(move || {
|
||||
}).error(move |error| {
|
||||
let _ = task_source_.queue_with_canceller(
|
||||
task!(audio_decode_eos: move || {
|
||||
let this = this_.root();
|
||||
|
@ -473,7 +473,8 @@ impl BaseAudioContextMethods for BaseAudioContext {
|
|||
&DOMException::new(&this.global(), DOMErrorName::DataCloneError),
|
||||
ExceptionHandling::Report);
|
||||
}
|
||||
resolver.promise.reject_error(Error::Type("Audio decode error".to_owned()));
|
||||
let error = format!("Audio decode error {:?}", error);
|
||||
resolver.promise.reject_error(Error::Type(error));
|
||||
}),
|
||||
&canceller_,
|
||||
);
|
||||
|
|
|
@ -207,7 +207,7 @@ impl HTMLMediaElement {
|
|||
delaying_the_load_event_flag: Default::default(),
|
||||
pending_play_promises: Default::default(),
|
||||
in_flight_play_promises_queue: Default::default(),
|
||||
player: ServoMedia::get().unwrap().create_player().unwrap(),
|
||||
player: ServoMedia::get().unwrap().create_player(),
|
||||
frame_renderer: Arc::new(Mutex::new(MediaFrameRenderer::new(
|
||||
document.window().get_webrender_api_sender(),
|
||||
))),
|
||||
|
@ -942,9 +942,6 @@ impl HTMLMediaElement {
|
|||
self.player.register_event_handler(action_sender);
|
||||
self.player
|
||||
.register_frame_renderer(self.frame_renderer.clone());
|
||||
if self.player.setup().is_err() {
|
||||
return Err(());
|
||||
}
|
||||
|
||||
let trusted_node = Trusted::new(self);
|
||||
let window = window_from_node(self);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue