diff options
author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2016-07-26 15:17:06 +0200 |
---|---|---|
committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2016-07-27 16:08:00 +0200 |
commit | 1d53dae96022cf1052ee4bfb1ee9c4adacf6b704 (patch) | |
tree | c689104dbe639fa73d83c2ac972089cbd5bb7644 /components/script/dom/htmlmediaelement.rs | |
parent | 556cb99bf261d8c7da05df9379b9d12b0a6b95f3 (diff) | |
download | servo-1d53dae96022cf1052ee4bfb1ee9c4adacf6b704.tar.gz servo-1d53dae96022cf1052ee4bfb1ee9c4adacf6b704.zip |
Remove video-metadata from android platform
Diffstat (limited to 'components/script/dom/htmlmediaelement.rs')
-rw-r--r-- | components/script/dom/htmlmediaelement.rs | 48 |
1 files changed, 30 insertions, 18 deletions
diff --git a/components/script/dom/htmlmediaelement.rs b/components/script/dom/htmlmediaelement.rs index cc8bed31ebd..d3a0562173f 100644 --- a/components/script/dom/htmlmediaelement.rs +++ b/components/script/dom/htmlmediaelement.rs @@ -89,24 +89,7 @@ impl AsyncResponseListener for HTMLMediaElementContext { // https://html.spec.whatwg.org/multipage/#media-data-processing-steps-list // => "Once enough of the media data has been fetched to determine the duration..." if !self.have_metadata { - match video_metadata::get_format_from_slice(&self.data) { - Ok(meta) => { - let dur = meta.duration.unwrap_or(::std::time::Duration::new(0, 0)); - *elem.video.borrow_mut() = Some(VideoMedia { - format: format!("{:?}", meta.format), - duration: Duration::seconds(dur.as_secs() as i64) + - Duration::nanoseconds(dur.subsec_nanos() as i64), - width: meta.size.width, - height: meta.size.height, - video: meta.video, - audio: meta.audio, - }); - // Step 6 - elem.change_ready_state(HAVE_METADATA); - self.have_metadata = true; - } - _ => {} - } + self.check_metadata(&elem); } else { elem.change_ready_state(HAVE_CURRENT_DATA); } @@ -176,6 +159,35 @@ impl HTMLMediaElementContext { ignore_response: false, } } + + #[cfg(not(target_os = "android"))] + fn check_metadata(&mut self, elem: &HTMLMediaElement) { + match video_metadata::get_format_from_slice(&self.data) { + Ok(meta) => { + let dur = meta.duration.unwrap_or(::std::time::Duration::new(0, 0)); + *elem.video.borrow_mut() = Some(VideoMedia { + format: format!("{:?}", meta.format), + duration: Duration::seconds(dur.as_secs() as i64) + + Duration::nanoseconds(dur.subsec_nanos() as i64), + width: meta.size.width, + height: meta.size.height, + video: meta.video, + audio: meta.audio, + }); + // Step 6 + elem.change_ready_state(HAVE_METADATA); + self.have_metadata = true; + } + _ => {} + } + } + + #[cfg(target_os = "android")] + fn check_metadata(&mut self, _elem: &HTMLMediaElement) { + // Step 6. + elem.change_ready_state(HAVE_METADATA); + self.have_metadata = true; + } } #[derive(JSTraceable, HeapSizeOf)] |