mirror of
https://github.com/servo/servo.git
synced 2025-08-07 22:45:34 +01:00
Move player setup to common path, deal with setup error and clean debug msgs
This commit is contained in:
parent
cc6ecab7a3
commit
e31339245c
1 changed files with 10 additions and 12 deletions
|
@ -507,7 +507,6 @@ impl HTMLMediaElement {
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#concept-media-load-algorithm
|
// https://html.spec.whatwg.org/multipage/#concept-media-load-algorithm
|
||||||
fn invoke_resource_selection_algorithm(&self) {
|
fn invoke_resource_selection_algorithm(&self) {
|
||||||
println!("invoke_resource_selection_algorithm");
|
|
||||||
// Step 1.
|
// Step 1.
|
||||||
self.network_state.set(NetworkState::NoSource);
|
self.network_state.set(NetworkState::NoSource);
|
||||||
|
|
||||||
|
@ -539,7 +538,6 @@ impl HTMLMediaElement {
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#concept-media-load-algorithm
|
// https://html.spec.whatwg.org/multipage/#concept-media-load-algorithm
|
||||||
fn resource_selection_algorithm_sync(&self, base_url: ServoUrl) {
|
fn resource_selection_algorithm_sync(&self, base_url: ServoUrl) {
|
||||||
println!("resource_selection_algorithm_sync");
|
|
||||||
// Step 5.
|
// Step 5.
|
||||||
// FIXME(ferjm): Implement blocked_on_parser logic
|
// FIXME(ferjm): Implement blocked_on_parser logic
|
||||||
// https://html.spec.whatwg.org/multipage/#blocked-on-parser
|
// https://html.spec.whatwg.org/multipage/#blocked-on-parser
|
||||||
|
@ -640,7 +638,10 @@ impl HTMLMediaElement {
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#concept-media-load-resource
|
// https://html.spec.whatwg.org/multipage/#concept-media-load-resource
|
||||||
fn resource_fetch_algorithm(&self, resource: Resource) {
|
fn resource_fetch_algorithm(&self, resource: Resource) {
|
||||||
println!("resource_fetch_algorithm");
|
if self.setup_media_player().is_err() {
|
||||||
|
self.queue_dedicated_media_source_failure_steps();
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Steps 1-2.
|
// Steps 1-2.
|
||||||
// Unapplicable, the `resource` variable already conveys which mode
|
// Unapplicable, the `resource` variable already conveys which mode
|
||||||
// is in use.
|
// is in use.
|
||||||
|
@ -706,9 +707,6 @@ impl HTMLMediaElement {
|
||||||
..RequestInit::default()
|
..RequestInit::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
println!("Setting up media player");
|
|
||||||
self.setup_media_player();
|
|
||||||
println!("Media player setup");
|
|
||||||
let context = Arc::new(Mutex::new(HTMLMediaElementContext::new(self)));
|
let context = Arc::new(Mutex::new(HTMLMediaElementContext::new(self)));
|
||||||
let (action_sender, action_receiver) = ipc::channel().unwrap();
|
let (action_sender, action_receiver) = ipc::channel().unwrap();
|
||||||
let window = window_from_node(self);
|
let window = window_from_node(self);
|
||||||
|
@ -792,7 +790,6 @@ impl HTMLMediaElement {
|
||||||
|
|
||||||
// https://html.spec.whatwg.org/multipage/#media-element-load-algorithm
|
// https://html.spec.whatwg.org/multipage/#media-element-load-algorithm
|
||||||
fn media_element_load_algorithm(&self) {
|
fn media_element_load_algorithm(&self) {
|
||||||
println!("media_element_load_algorithm");
|
|
||||||
// Reset the flag that signals whether loadeddata was ever fired for
|
// Reset the flag that signals whether loadeddata was ever fired for
|
||||||
// this invokation of the load algorithm.
|
// this invokation of the load algorithm.
|
||||||
self.fired_loadeddata_event.set(false);
|
self.fired_loadeddata_event.set(false);
|
||||||
|
@ -939,14 +936,15 @@ impl HTMLMediaElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
// servo media player
|
// servo media player
|
||||||
fn setup_media_player(&self) {
|
fn setup_media_player(&self) -> Result<(), ()>{
|
||||||
let (action_sender, action_receiver) = ipc::channel().unwrap();
|
let (action_sender, action_receiver) = ipc::channel().unwrap();
|
||||||
|
|
||||||
self.player.register_event_handler(action_sender);
|
self.player.register_event_handler(action_sender);
|
||||||
self.player
|
self.player
|
||||||
.register_frame_renderer(self.frame_renderer.clone());
|
.register_frame_renderer(self.frame_renderer.clone());
|
||||||
// XXXferjm this can fail.
|
if self.player.setup().is_err() {
|
||||||
self.player.setup().unwrap();
|
return Err(());
|
||||||
|
}
|
||||||
|
|
||||||
let trusted_node = Trusted::new(self);
|
let trusted_node = Trusted::new(self);
|
||||||
let window = window_from_node(self);
|
let window = window_from_node(self);
|
||||||
|
@ -967,12 +965,13 @@ impl HTMLMediaElement {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn handle_player_event(&self, event: &PlayerEvent) {
|
fn handle_player_event(&self, event: &PlayerEvent) {
|
||||||
match *event {
|
match *event {
|
||||||
PlayerEvent::MetadataUpdated(ref metadata) => {
|
PlayerEvent::MetadataUpdated(ref metadata) => {
|
||||||
println!("PlayerEvent::MetadataUpdated");
|
|
||||||
// https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list
|
// https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list
|
||||||
// => "Once enough of the media data has been fetched to determine the duration..."
|
// => "Once enough of the media data has been fetched to determine the duration..."
|
||||||
// Step 1.
|
// Step 1.
|
||||||
|
@ -1017,7 +1016,6 @@ impl HTMLMediaElement {
|
||||||
_ => {},
|
_ => {},
|
||||||
},
|
},
|
||||||
PlayerEvent::EndOfStream => {
|
PlayerEvent::EndOfStream => {
|
||||||
println!("PlayerEvent::EndOfStream");
|
|
||||||
// https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list
|
// https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list
|
||||||
// => "If the media data can be fetched but is found by inspection to be in
|
// => "If the media data can be fetched but is found by inspection to be in
|
||||||
// an unsupported format, or can otherwise not be rendered at all"
|
// an unsupported format, or can otherwise not be rendered at all"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue