diff --git a/webrtc/common_video/video_frame.cc b/webrtc/common_video/video_frame.cc index 3e408d5627..eb59bd35c1 100644 --- a/webrtc/common_video/video_frame.cc +++ b/webrtc/common_video/video_frame.cc @@ -51,14 +51,6 @@ VideoFrame::VideoFrame(const rtc::scoped_refptr& buffer, RTC_DCHECK(buffer); } -void VideoFrame::ShallowCopy(const VideoFrame& videoFrame) { - video_frame_buffer_ = videoFrame.video_frame_buffer(); - timestamp_rtp_ = videoFrame.timestamp_rtp_; - ntp_time_ms_ = videoFrame.ntp_time_ms_; - timestamp_us_ = videoFrame.timestamp_us_; - rotation_ = videoFrame.rotation_; -} - int VideoFrame::width() const { return video_frame_buffer_ ? video_frame_buffer_->width() : 0; } diff --git a/webrtc/media/engine/fakewebrtccall.cc b/webrtc/media/engine/fakewebrtccall.cc index a25fe541ab..df6febe734 100644 --- a/webrtc/media/engine/fakewebrtccall.cc +++ b/webrtc/media/engine/fakewebrtccall.cc @@ -178,7 +178,7 @@ void FakeVideoSendStream::OnFrame(const webrtc::VideoFrame& frame) { video_streams_ = encoder_config_.video_stream_factory->CreateEncoderStreams( frame.width(), frame.height(), encoder_config_); } - last_frame_.ShallowCopy(frame); + last_frame_ = frame; } void FakeVideoSendStream::SetStats( diff --git a/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc b/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc index 487a9da846..d636b14f50 100644 --- a/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc +++ b/webrtc/modules/video_coding/codecs/vp8/test/vp8_impl_unittest.cc @@ -110,7 +110,7 @@ bool Vp8UnitTestDecodeCompleteCallback::DecodeComplete() { } int Vp8UnitTestDecodeCompleteCallback::Decoded(VideoFrame& image) { - decoded_frame_->ShallowCopy(image); + *decoded_frame_ = image; decode_complete = true; return 0; } diff --git a/webrtc/modules/video_processing/test/video_processing_unittest.cc b/webrtc/modules/video_processing/test/video_processing_unittest.cc index fc5bade9ac..b40b7c0ef7 100644 --- a/webrtc/modules/video_processing/test/video_processing_unittest.cc +++ b/webrtc/modules/video_processing/test/video_processing_unittest.cc @@ -249,8 +249,7 @@ void TestSize(const VideoFrame& source_frame, WriteProcessedFrameForVisualInspection(source_frame, *out_frame); // Scale |resampled_source_frame| back to the source scale. - VideoFrame resampled_source_frame; - resampled_source_frame.ShallowCopy(*out_frame); + VideoFrame resampled_source_frame(*out_frame); // Compute PSNR against the cropped source frame and check expectation. PreprocessFrameAndVerify(resampled_source_frame, cropped_source.width(), diff --git a/webrtc/video/video_quality_test.cc b/webrtc/video/video_quality_test.cc index c5db0534c6..d81bc897af 100644 --- a/webrtc/video/video_quality_test.cc +++ b/webrtc/video/video_quality_test.cc @@ -477,8 +477,8 @@ class VideoAnalyzer : public PacketReceiver, rtc::CritScope crit(&comparison_lock_); if (comparisons_.size() < kMaxComparisons) { - reference_copy.ShallowCopy(reference); - render_copy.ShallowCopy(render); + reference_copy = reference; + render_copy = render; } else { // Copy the time to ensure that delay calculations can still be made. reference_copy.set_ntp_time_ms(reference.ntp_time_ms()); diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc index d09e40b1c3..e1cd40dc98 100644 --- a/webrtc/video/vie_encoder.cc +++ b/webrtc/video/vie_encoder.cc @@ -218,7 +218,7 @@ class ViEEncoder::EncodeTask : public rtc::QueuedTask { : vie_encoder_(vie_encoder), time_when_posted_ms_(time_when_posted_in_ms), log_stats_(log_stats) { - frame_.ShallowCopy(frame); + frame_ = frame; ++vie_encoder_->posted_frames_waiting_for_encode_; } diff --git a/webrtc/video_frame.h b/webrtc/video_frame.h index ff120a6f4c..0569278897 100644 --- a/webrtc/video_frame.h +++ b/webrtc/video_frame.h @@ -44,12 +44,11 @@ class VideoFrame { int64_t render_time_ms, VideoRotation rotation); - // Creates a shallow copy of |videoFrame|, i.e, the this object will retain a - // reference to the video buffer also retained by |videoFrame|. - // TODO(nisse): Deprecated. Should be deleted in the cricket::VideoFrame and - // webrtc::VideoFrame merge. Instead, pass video_frame_buffer() and timestamps - // to the constructor. - void ShallowCopy(const VideoFrame& videoFrame); + // Support move and copy. + VideoFrame(const VideoFrame&) = default; + VideoFrame(VideoFrame&&) = default; + VideoFrame& operator=(const VideoFrame&) = default; + VideoFrame& operator=(VideoFrame&&) = default; // Get frame width. int width() const;