diff options
author | ronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-09 21:14:56 +0000 |
---|---|---|
committer | ronghuawu@chromium.org <ronghuawu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-09 21:14:56 +0000 |
commit | e09b70b3f256ff0393a3f8488aaa0d7c72de4dec (patch) | |
tree | 17c1b6f77b45dea6a26f198965e7fa73877bc889 | |
parent | 40c7482b3bcdbe214a564885913aae5f17423a18 (diff) | |
download | chromium_src-e09b70b3f256ff0393a3f8488aaa0d7c72de4dec.zip chromium_src-e09b70b3f256ff0393a3f8488aaa0d7c72de4dec.tar.gz chromium_src-e09b70b3f256ff0393a3f8488aaa0d7c72de4dec.tar.bz2 |
* Roll webrtc & libjingle 6346:6352.
* Take remote track's cricket::VideoFrame's elapsed time as media::VideoFrame's timestamp. This elapsed time is computed from the remote video frame's rtp timestamp and starts from 0.
* Use media::VideoFrame's timestamp as video element's currentTime instead of normalize it to 0 everytime. This is to ensure video elements connected to the same track have the same currentTime.
TEST=manually add local and remote mediastreams to different video tags and check the current time
BUG=380242
R=acolwell@chromium.org, hclam@chromium.org
Review URL: https://codereview.chromium.org/324513002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275856 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | content/renderer/media/webmediaplayer_ms.cc | 7 | ||||
-rw-r--r-- | content/renderer/media/webmediaplayer_ms.h | 2 | ||||
-rw-r--r-- | content/renderer/media/webrtc/media_stream_remote_video_source.cc | 4 | ||||
-rw-r--r-- | third_party/libjingle/README.chromium | 2 |
5 files changed, 5 insertions, 12 deletions
@@ -54,7 +54,7 @@ vars = { # Three lines of non-changing comments so that # the commit queue can handle CLs rolling WebRTC # and V8 without interference from each other. - "webrtc_revision": "6346", + "webrtc_revision": "6352", "jsoncpp_revision": "248", "nss_revision": "275589", # Three lines of non-changing comments so that diff --git a/content/renderer/media/webmediaplayer_ms.cc b/content/renderer/media/webmediaplayer_ms.cc index 7227eee..fe8d7a5 100644 --- a/content/renderer/media/webmediaplayer_ms.cc +++ b/content/renderer/media/webmediaplayer_ms.cc @@ -94,7 +94,6 @@ WebMediaPlayerMS::WebMediaPlayerMS( pending_repaint_(false), video_frame_provider_client_(NULL), received_first_frame_(false), - sequence_started_(false), total_frame_count_(0), dropped_frame_count_(0), media_log_(media_log), @@ -426,10 +425,6 @@ void WebMediaPlayerMS::OnFrameAvailable( if (paused_) return; - if (!sequence_started_) { - sequence_started_ = true; - start_time_ = frame->timestamp(); - } bool size_changed = !current_frame_.get() || current_frame_->natural_size() != frame->natural_size(); @@ -438,7 +433,7 @@ void WebMediaPlayerMS::OnFrameAvailable( if (!current_frame_used_ && current_frame_.get()) ++dropped_frame_count_; current_frame_ = frame; - current_time_ = frame->timestamp() - start_time_; + current_time_ = frame->timestamp(); current_frame_used_ = false; } diff --git a/content/renderer/media/webmediaplayer_ms.h b/content/renderer/media/webmediaplayer_ms.h index 0405b69..51f90e8 100644 --- a/content/renderer/media/webmediaplayer_ms.h +++ b/content/renderer/media/webmediaplayer_ms.h @@ -175,8 +175,6 @@ class WebMediaPlayerMS cc::VideoFrameProvider::Client* video_frame_provider_client_; bool received_first_frame_; - bool sequence_started_; - base::TimeDelta start_time_; base::TimeDelta current_time_; unsigned total_frame_count_; unsigned dropped_frame_count_; diff --git a/content/renderer/media/webrtc/media_stream_remote_video_source.cc b/content/renderer/media/webrtc/media_stream_remote_video_source.cc index 4a28be43..3b93cdf 100644 --- a/content/renderer/media/webrtc/media_stream_remote_video_source.cc +++ b/content/renderer/media/webrtc/media_stream_remote_video_source.cc @@ -71,8 +71,8 @@ RemoteVideoSourceDelegate::SetSize(int width, int height) { void MediaStreamRemoteVideoSource:: RemoteVideoSourceDelegate::RenderFrame( const cricket::VideoFrame* frame) { - base::TimeDelta timestamp = base::TimeDelta::FromMilliseconds( - frame->GetTimeStamp() / talk_base::kNumNanosecsPerMillisec); + base::TimeDelta timestamp = base::TimeDelta::FromMicroseconds( + frame->GetElapsedTime() / talk_base::kNumNanosecsPerMicrosec); scoped_refptr<media::VideoFrame> video_frame; if (frame->GetNativeHandle() != NULL) { diff --git a/third_party/libjingle/README.chromium b/third_party/libjingle/README.chromium index e9bb8ba..9ea927f 100644 --- a/third_party/libjingle/README.chromium +++ b/third_party/libjingle/README.chromium @@ -1,7 +1,7 @@ Name: libjingle URL: http://code.google.com/p/webrtc/ Version: unknown -Revision: 6346 +Revision: 6352 License: BSD License File: source/talk/COPYING Security Critical: yes |