| Index: content/renderer/media/video_track_adapter.cc
|
| diff --git a/content/renderer/media/video_track_adapter.cc b/content/renderer/media/video_track_adapter.cc
|
| index 855cf7674a643b902360a19f04d674c094f64236..d56e8d4f036b78c2b9f65576788402f83b5d6e16 100644
|
| --- a/content/renderer/media/video_track_adapter.cc
|
| +++ b/content/renderer/media/video_track_adapter.cc
|
| @@ -76,7 +76,6 @@ class VideoTrackAdapter::VideoFrameResolutionAdapter
|
| void RemoveCallback(const MediaStreamVideoTrack* track);
|
|
|
| void DeliverFrame(const scoped_refptr<media::VideoFrame>& frame,
|
| - const media::VideoCaptureFormat& format,
|
| const base::TimeTicks& estimated_capture_time);
|
|
|
| // Returns true if all arguments match with the output of this adapter.
|
| @@ -93,7 +92,6 @@ class VideoTrackAdapter::VideoFrameResolutionAdapter
|
|
|
| virtual void DoDeliverFrame(
|
| const scoped_refptr<media::VideoFrame>& frame,
|
| - const media::VideoCaptureFormat& format,
|
| const base::TimeTicks& estimated_capture_time);
|
|
|
| // Returns |true| if the input frame rate is higher that the requested max
|
| @@ -174,17 +172,21 @@ VideoFrameResolutionAdapter::~VideoFrameResolutionAdapter() {
|
|
|
| void VideoTrackAdapter::VideoFrameResolutionAdapter::DeliverFrame(
|
| const scoped_refptr<media::VideoFrame>& frame,
|
| - const media::VideoCaptureFormat& format,
|
| const base::TimeTicks& estimated_capture_time) {
|
| DCHECK(io_thread_checker_.CalledOnValidThread());
|
|
|
| - if (MaybeDropFrame(frame, format.frame_rate))
|
| + double frame_rate;
|
| + if (!frame->metadata()->GetDouble(media::VideoFrameMetadata::FRAME_RATE,
|
| + &frame_rate)) {
|
| + frame_rate = MediaStreamVideoSource::kUnknownFrameRate;
|
| + }
|
| + if (MaybeDropFrame(frame, frame_rate))
|
| return;
|
|
|
| // TODO(perkj): Allow cropping / scaling of textures once
|
| // http://crbug/362521 is fixed.
|
| if (frame->format() == media::VideoFrame::NATIVE_TEXTURE) {
|
| - DoDeliverFrame(frame, format, estimated_capture_time);
|
| + DoDeliverFrame(frame, estimated_capture_time);
|
| return;
|
| }
|
| scoped_refptr<media::VideoFrame> video_frame(frame);
|
| @@ -246,7 +248,7 @@ void VideoTrackAdapter::VideoFrameResolutionAdapter::DeliverFrame(
|
| << " output visible rect "
|
| << video_frame->visible_rect().ToString();
|
| }
|
| - DoDeliverFrame(video_frame, format, estimated_capture_time);
|
| + DoDeliverFrame(video_frame, estimated_capture_time);
|
| }
|
|
|
| bool VideoTrackAdapter::VideoFrameResolutionAdapter::MaybeDropFrame(
|
| @@ -311,13 +313,10 @@ bool VideoTrackAdapter::VideoFrameResolutionAdapter::MaybeDropFrame(
|
| void VideoTrackAdapter::
|
| VideoFrameResolutionAdapter::DoDeliverFrame(
|
| const scoped_refptr<media::VideoFrame>& frame,
|
| - const media::VideoCaptureFormat& format,
|
| const base::TimeTicks& estimated_capture_time) {
|
| DCHECK(io_thread_checker_.CalledOnValidThread());
|
| - for (std::vector<VideoIdCallbackPair>::const_iterator it = callbacks_.begin();
|
| - it != callbacks_.end(); ++it) {
|
| - it->second.Run(frame, format, estimated_capture_time);
|
| - }
|
| + for (const auto& entry : callbacks_)
|
| + entry.second.Run(frame, estimated_capture_time);
|
| }
|
|
|
| void VideoTrackAdapter::VideoFrameResolutionAdapter::AddCallback(
|
| @@ -494,15 +493,12 @@ void VideoTrackAdapter::RemoveTrackOnIO(const MediaStreamVideoTrack* track) {
|
|
|
| void VideoTrackAdapter::DeliverFrameOnIO(
|
| const scoped_refptr<media::VideoFrame>& frame,
|
| - const media::VideoCaptureFormat& format,
|
| const base::TimeTicks& estimated_capture_time) {
|
| DCHECK(io_message_loop_->BelongsToCurrentThread());
|
| TRACE_EVENT0("video", "VideoTrackAdapter::DeliverFrameOnIO");
|
| ++frame_counter_;
|
| - for (FrameAdapters::iterator it = adapters_.begin();
|
| - it != adapters_.end(); ++it) {
|
| - (*it)->DeliverFrame(frame, format, estimated_capture_time);
|
| - }
|
| + for (const auto& adapter : adapters_)
|
| + adapter->DeliverFrame(frame, estimated_capture_time);
|
| }
|
|
|
| void VideoTrackAdapter::CheckFramesReceivedOnIO(
|
|
|