diff options
author | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-12-12 16:52:37 +0100 |
---|---|---|
committer | Fernando Jiménez Moreno <ferjmoreno@gmail.com> | 2018-12-12 16:52:37 +0100 |
commit | 707b490c0f1d5f09ac481ae903e349dd2ddd97c5 (patch) | |
tree | 31f383e0eda15903b36ba9220a09cc806e83c884 /components/script/dom/htmlmediaelement.rs | |
parent | 243b4e1a39c7f7feca71eb9fe8bd094059a2bdd5 (diff) | |
download | servo-707b490c0f1d5f09ac481ae903e349dd2ddd97c5.tar.gz servo-707b490c0f1d5f09ac481ae903e349dd2ddd97c5.zip |
Signal EOS if media request fails
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index 141ad5c86be..15d0090cba7 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -1614,12 +1614,16 @@ impl FetchResponseListener for HTMLMediaElementContext { // https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list fn process_response_eof(&mut self, status: Result<ResourceFetchTiming, NetworkError>) { + let elem = self.elem.root(); if self.ignore_response { - // An error was received previously, skip processing the payload. + // An error was received previously, skip processing the payload + // and notify the media backend that we are done pushing data. + if let Err(e) = elem.player.end_of_stream() { + warn!("Could not signal EOS to player {:?}", e); + } return; } - let elem = self.elem.root(); if status.is_ok() { if elem.ready_state.get() == ReadyState::HaveNothing { // Make sure that we don't skip the HaveMetadata and HaveCurrentData |