From 6e6a485a028799501ea4753ceefc811dd826f52f Mon Sep 17 00:00:00 2001 From: nisse Date: Tue, 2 May 2017 06:56:07 -0700 Subject: [PATCH] Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2852303002/ ) Reason for revert: Unfortunately, more downstream updates needed. Original issue's description: > Reland of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #1 id:1 of https://codereview.webrtc.org/2845333002/ ) > > Reason for revert: > Downstream projects being updated. > > For Chrome, relanding depends on cl > https://codereview.chromium.org/2855783003/ > > Original issue's description: > > Revert of Delete deprecated and transitional stuff related to video frame refactoring. (patchset #17 id:320001 of https://codereview.webrtc.org/2622263002/ ) > > > > Reason for revert: > > Broke Chrome build, see, e.g., > > http://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/16237 > > > > Original issue's description: > > > Delete deprecated and transitional stuff related to video frame refactoring. > > > > > > BUG=webrtc:5880 > > > > > > Review-Url: https://codereview.webrtc.org/2622263002 > > > Cr-Commit-Position: refs/heads/master@{#17928} > > > Committed: https://chromium.googlesource.com/external/webrtc/+/713a3bbcc74a4c1a1f54d6dbd0bdaa715f5c1ae1 > > > > TBR=mflodman@webrtc.org,perkj@webrtc.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=webrtc:5880 > > > > Review-Url: https://codereview.webrtc.org/2845333002 > > Cr-Commit-Position: refs/heads/master@{#17929} > > Committed: https://chromium.googlesource.com/external/webrtc/+/aec49d2b49e1beceb286cbb29ad220aefd0ac648 > > TBR=mflodman@webrtc.org,perkj@webrtc.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=webrtc:5880 > > Review-Url: https://codereview.webrtc.org/2852303002 > Cr-Commit-Position: refs/heads/master@{#17974} > Committed: https://chromium.googlesource.com/external/webrtc/+/d71ebd70f6c40a37559a7ee2930002a804ad3f13 TBR=mflodman@webrtc.org,perkj@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:5880 Review-Url: https://codereview.webrtc.org/2854883002 Cr-Commit-Position: refs/heads/master@{#17978} --- webrtc/api/mediastreaminterface.h | 4 ++ webrtc/api/video/i420_buffer.cc | 11 ++++++ webrtc/api/video/i420_buffer.h | 11 ++++++ webrtc/api/video/video_frame.h | 5 +++ webrtc/api/video_codecs/BUILD.gn | 1 - webrtc/api/video_codecs/video_decoder.h | 1 - webrtc/api/video_codecs/video_encoder.h | 1 - webrtc/common_video/corevideo_frame_buffer.cc | 1 - .../common_video/i420_video_frame_unittest.cc | 17 ++++++++- .../common_video/include/video_frame_buffer.h | 3 ++ webrtc/common_video/rotation.h | 18 +++++++++ webrtc/media/BUILD.gn | 2 + webrtc/media/base/videocapturer.h | 6 +++ webrtc/media/base/videoframe.h | 37 +++++++++++++++++++ webrtc/media/engine/webrtcvideoframe.h | 33 +++++++++++++++++ .../codecs/test/video_codec_test.cc | 1 - .../modules/video_coding/generic_decoder.cc | 1 - .../sdk/android/src/jni/native_handle_impl.cc | 7 +--- .../Classes/avfoundationvideocapturer.mm | 2 +- .../Framework/Classes/objcvideotracksource.mm | 3 +- webrtc/test/fake_texture_frame.h | 1 - webrtc/test/frame_generator_capturer.cc | 1 - webrtc/video/overuse_frame_detector.cc | 1 - .../receive_statistics_proxy_unittest.cc | 1 - webrtc/video/video_send_stream_tests.cc | 1 - webrtc/video_frame.h | 2 + 26 files changed, 151 insertions(+), 21 deletions(-) create mode 100644 webrtc/common_video/rotation.h create mode 100644 webrtc/media/base/videoframe.h create mode 100644 webrtc/media/engine/webrtcvideoframe.h diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h index 2acaa000e4..2d16e5214d 100644 --- a/webrtc/api/mediastreaminterface.h +++ b/webrtc/api/mediastreaminterface.h @@ -23,6 +23,10 @@ #include #include "webrtc/api/video/video_frame.h" +// TODO(nisse): Transition hack, Chrome expects that including this +// file declares I420Buffer. Delete after users of I420Buffer are +// fixed to include the new header. +#include "webrtc/api/video/i420_buffer.h" #include "webrtc/base/refcount.h" #include "webrtc/base/scoped_ref_ptr.h" #include "webrtc/base/optional.h" diff --git a/webrtc/api/video/i420_buffer.cc b/webrtc/api/video/i420_buffer.cc index 32c73eac67..81f5789837 100644 --- a/webrtc/api/video/i420_buffer.cc +++ b/webrtc/api/video/i420_buffer.cc @@ -131,6 +131,17 @@ rtc::scoped_refptr I420Buffer::Rotate( return buffer; } +// static +rtc::scoped_refptr I420Buffer::Rotate( + rtc::scoped_refptr src, + VideoRotation rotation) { + if (rotation == webrtc::kVideoRotation_0) { + return src; + } else { + return Rotate(*src, rotation); + } +} + void I420Buffer::InitializeData() { memset(data_.get(), 0, I420DataSize(height_, stride_y_, stride_u_, stride_v_)); diff --git a/webrtc/api/video/i420_buffer.h b/webrtc/api/video/i420_buffer.h index 507bd0571b..388a3dd769 100644 --- a/webrtc/api/video/i420_buffer.h +++ b/webrtc/api/video/i420_buffer.h @@ -53,6 +53,9 @@ class I420Buffer : public VideoFrameBuffer { // are resolved in a better way. Or in the mean time, use SetBlack. void InitializeData(); + // TODO(nisse): Deprecated, use static method instead. + void SetToBlack() { SetBlack(this); } + int width() const override; int height() const override; const uint8_t* DataY() const override; @@ -85,6 +88,14 @@ class I420Buffer : public VideoFrameBuffer { // Scale all of |src| to the size of |this| buffer, with no cropping. void ScaleFrom(const VideoFrameBuffer& src); + // TODO(nisse): Deprecated, delete once downstream applications are updated. + // Returns a rotated versions of |src|. Native buffers are not + // supported. The reason this function doesn't return an I420Buffer, + // is that it returns |src| unchanged in case |rotation| is zero. + static rtc::scoped_refptr Rotate( + rtc::scoped_refptr src, + VideoRotation rotation); + protected: I420Buffer(int width, int height); I420Buffer(int width, int height, int stride_y, int stride_u, int stride_v); diff --git a/webrtc/api/video/video_frame.h b/webrtc/api/video/video_frame.h index 82c348d07e..8840782cad 100644 --- a/webrtc/api/video/video_frame.h +++ b/webrtc/api/video/video_frame.h @@ -16,6 +16,11 @@ #include "webrtc/api/video/video_rotation.h" #include "webrtc/api/video/video_frame_buffer.h" +// TODO(nisse): Transition hack, some downstream applications expect +// that including this file also defines base/timeutils.h constants. +// Delete after applications are fixed to include the right headers. +#include "webrtc/base/timeutils.h" + namespace webrtc { class VideoFrame { diff --git a/webrtc/api/video_codecs/BUILD.gn b/webrtc/api/video_codecs/BUILD.gn index 5562eec659..befd065f05 100644 --- a/webrtc/api/video_codecs/BUILD.gn +++ b/webrtc/api/video_codecs/BUILD.gn @@ -22,7 +22,6 @@ rtc_source_set("video_codecs_api") { # TODO(ilnik): Add dependency on webrtc/video_frame.h when it will have it's # own build target. - "..:video_frame_api", "../..:webrtc_common", "../../base:rtc_base_approved", ] diff --git a/webrtc/api/video_codecs/video_decoder.h b/webrtc/api/video_codecs/video_decoder.h index 04deaeda33..ba62822dde 100644 --- a/webrtc/api/video_codecs/video_decoder.h +++ b/webrtc/api/video_codecs/video_decoder.h @@ -15,7 +15,6 @@ #include #include -#include "webrtc/api/video/video_frame.h" #include "webrtc/common_types.h" #include "webrtc/typedefs.h" #include "webrtc/video_frame.h" diff --git a/webrtc/api/video_codecs/video_encoder.h b/webrtc/api/video_codecs/video_encoder.h index 5d21ed97b3..969de43209 100644 --- a/webrtc/api/video_codecs/video_encoder.h +++ b/webrtc/api/video_codecs/video_encoder.h @@ -15,7 +15,6 @@ #include #include -#include "webrtc/api/video/video_frame.h" #include "webrtc/base/checks.h" #include "webrtc/common_types.h" #include "webrtc/typedefs.h" diff --git a/webrtc/common_video/corevideo_frame_buffer.cc b/webrtc/common_video/corevideo_frame_buffer.cc index 73160e19f5..6455ed18f0 100644 --- a/webrtc/common_video/corevideo_frame_buffer.cc +++ b/webrtc/common_video/corevideo_frame_buffer.cc @@ -11,7 +11,6 @@ #include "webrtc/common_video/include/corevideo_frame_buffer.h" #include "libyuv/convert.h" -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" diff --git a/webrtc/common_video/i420_video_frame_unittest.cc b/webrtc/common_video/i420_video_frame_unittest.cc index f3ee9314c7..8c97ca7ac4 100644 --- a/webrtc/common_video/i420_video_frame_unittest.cc +++ b/webrtc/common_video/i420_video_frame_unittest.cc @@ -12,7 +12,6 @@ #include #include "webrtc/api/video/video_frame.h" -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/base/bind.h" #include "webrtc/base/timeutils.h" #include "webrtc/test/fake_texture_frame.h" @@ -292,4 +291,20 @@ INSTANTIATE_TEST_CASE_P(Rotate, TestI420BufferRotate, kVideoRotation_180, kVideoRotation_270)); +class TestI420BufferRotateOld + : public ::testing::TestWithParam {}; + +TEST_P(TestI420BufferRotateOld, Rotates) { + rtc::scoped_refptr buffer = CreateGradient(640, 480); + rtc::scoped_refptr rotated_buffer = + I420Buffer::Rotate(buffer, GetParam()); + CheckRotate(640, 480, GetParam(), *rotated_buffer); +} + +INSTANTIATE_TEST_CASE_P(Rotate, TestI420BufferRotateOld, + ::testing::Values(kVideoRotation_0, + kVideoRotation_90, + kVideoRotation_180, + kVideoRotation_270)); + } // namespace webrtc diff --git a/webrtc/common_video/include/video_frame_buffer.h b/webrtc/common_video/include/video_frame_buffer.h index e6c1f147a2..dfdd480b5d 100644 --- a/webrtc/common_video/include/video_frame_buffer.h +++ b/webrtc/common_video/include/video_frame_buffer.h @@ -14,6 +14,9 @@ #include #include "webrtc/api/video/video_frame_buffer.h" +// TODO(nisse): For backwards compatibility, files including this file +// expect it to declare I420Buffer. Delete after callers are updated. +#include "webrtc/api/video/i420_buffer.h" #include "webrtc/base/callback.h" #include "webrtc/base/scoped_ref_ptr.h" diff --git a/webrtc/common_video/rotation.h b/webrtc/common_video/rotation.h new file mode 100644 index 0000000000..f01c812944 --- /dev/null +++ b/webrtc/common_video/rotation.h @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +// TODO(nisse): Delete this file, once downstream code is updated. + +#ifndef WEBRTC_COMMON_VIDEO_ROTATION_H_ +#define WEBRTC_COMMON_VIDEO_ROTATION_H_ + +#include "webrtc/api/video/video_rotation.h" + +#endif // WEBRTC_COMMON_VIDEO_ROTATION_H_ diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn index 4e4d67a937..6f4a7c8d05 100644 --- a/webrtc/media/BUILD.gn +++ b/webrtc/media/BUILD.gn @@ -73,6 +73,7 @@ rtc_static_library("rtc_media_base") { "base/videocapturerfactory.h", "base/videocommon.cc", "base/videocommon.h", + "base/videoframe.h", "base/videosourcebase.cc", "base/videosourcebase.h", ] @@ -154,6 +155,7 @@ rtc_static_library("rtc_media") { "engine/webrtcvideoencoderfactory.h", "engine/webrtcvideoengine2.cc", "engine/webrtcvideoengine2.h", + "engine/webrtcvideoframe.h", "engine/webrtcvoe.h", "engine/webrtcvoiceengine.cc", "engine/webrtcvoiceengine.h", diff --git a/webrtc/media/base/videocapturer.h b/webrtc/media/base/videocapturer.h index 76ab95a2b8..510063bc16 100644 --- a/webrtc/media/base/videocapturer.h +++ b/webrtc/media/base/videocapturer.h @@ -20,6 +20,12 @@ #include #include +// TODO(nisse): Transition hack, some downstream applications expect that +// including this file declares I420Buffer and NativeHandleBuffer. Delete after +// users of these classes are fixed to include the right headers. +#include "webrtc/api/video/i420_buffer.h" +#include "webrtc/common_video/include/video_frame_buffer.h" + #include "webrtc/base/constructormagic.h" #include "webrtc/base/criticalsection.h" #include "webrtc/media/base/videosourceinterface.h" diff --git a/webrtc/media/base/videoframe.h b/webrtc/media/base/videoframe.h new file mode 100644 index 0000000000..8e8a05d7e2 --- /dev/null +++ b/webrtc/media/base/videoframe.h @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2004 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +// TODO(nisse): Deprecated, replace cricket::VideoFrame with +// webrtc::VideoFrame everywhere, then delete this file. See +// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682. + +#ifndef WEBRTC_MEDIA_BASE_VIDEOFRAME_H_ +#define WEBRTC_MEDIA_BASE_VIDEOFRAME_H_ + +// TODO(nisse): Some applications expect that including this file +// implies an include of logging.h. So keep for compatibility, until +// this file can be deleted. +#include "webrtc/base/logging.h" + +#include "webrtc/api/video/video_frame.h" + +// TODO(nisse): Similarly, some applications expect that including this file +// implies a forward declaration of rtc::Thread. +namespace rtc { +class Thread; +} // namespace rtc + +namespace cricket { + +using VideoFrame = webrtc::VideoFrame; + +} // namespace cricket + +#endif // WEBRTC_MEDIA_BASE_VIDEOFRAME_H_ diff --git a/webrtc/media/engine/webrtcvideoframe.h b/webrtc/media/engine/webrtcvideoframe.h new file mode 100644 index 0000000000..d8369053aa --- /dev/null +++ b/webrtc/media/engine/webrtcvideoframe.h @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +// TODO(nisse): Deprecated, replace cricket::WebRtcVideoFrame with +// webrtc::VideoFrame everywhere, then delete this file. See +// https://bugs.chromium.org/p/webrtc/issues/detail?id=5682. + +#ifndef WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_ +#define WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_ + +#include + +#include "webrtc/base/buffer.h" +#include "webrtc/base/refcount.h" +#include "webrtc/base/scoped_ref_ptr.h" +#include "webrtc/common_types.h" +#include "webrtc/common_video/include/video_frame_buffer.h" +#include "webrtc/media/base/videoframe.h" + +namespace cricket { + +using WebRtcVideoFrame = webrtc::VideoFrame; + +} // namespace cricket + +#endif // WEBRTC_MEDIA_ENGINE_WEBRTCVIDEOFRAME_H_ diff --git a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc index d94c215281..d0d86ce4d7 100644 --- a/webrtc/modules/video_coding/codecs/test/video_codec_test.cc +++ b/webrtc/modules/video_coding/codecs/test/video_codec_test.cc @@ -10,7 +10,6 @@ #include "webrtc/modules/video_coding/codecs/test/video_codec_test.h" -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/modules/video_coding/include/video_error_codes.h" #include "webrtc/test/frame_utils.h" #include "webrtc/test/testsupport/fileutils.h" diff --git a/webrtc/modules/video_coding/generic_decoder.cc b/webrtc/modules/video_coding/generic_decoder.cc index 5969f23696..f5d9cfe073 100644 --- a/webrtc/modules/video_coding/generic_decoder.cc +++ b/webrtc/modules/video_coding/generic_decoder.cc @@ -10,7 +10,6 @@ #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" -#include "webrtc/base/timeutils.h" #include "webrtc/base/trace_event.h" #include "webrtc/modules/video_coding/include/video_coding.h" #include "webrtc/modules/video_coding/generic_decoder.h" diff --git a/webrtc/sdk/android/src/jni/native_handle_impl.cc b/webrtc/sdk/android/src/jni/native_handle_impl.cc index 90ade58234..c40cbf5f3d 100644 --- a/webrtc/sdk/android/src/jni/native_handle_impl.cc +++ b/webrtc/sdk/android/src/jni/native_handle_impl.cc @@ -12,13 +12,12 @@ #include -#include "webrtc/api/video/i420_buffer.h" +#include "webrtc/sdk/android/src/jni/jni_helpers.h" #include "webrtc/base/bind.h" #include "webrtc/base/checks.h" #include "webrtc/base/keep_ref_until_done.h" #include "webrtc/base/logging.h" #include "webrtc/base/scoped_ref_ptr.h" -#include "webrtc/sdk/android/src/jni/jni_helpers.h" using webrtc::NativeHandleBuffer; @@ -143,10 +142,6 @@ AndroidTextureBuffer::NativeToI420Buffer() { // // TODO(nisse): Use an I420BufferPool. We then need to extend that // class, and I420Buffer, to support our memory layout. - // TODO(nisse): Depending on - // system_wrappers/include/aligned_malloc.h violate current DEPS - // rules. We get away for now only because it is indirectly included - // by i420_buffer.h std::unique_ptr yuv_data( static_cast(webrtc::AlignedMalloc(size, kBufferAlignment))); // See YuvConverter.java for the required layout. diff --git a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm index 47f6aca9b6..526cdbe455 100644 --- a/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm +++ b/webrtc/sdk/objc/Framework/Classes/avfoundationvideocapturer.mm @@ -160,7 +160,7 @@ void AVFoundationVideoCapturer::CaptureSampleBuffer( // Applying rotation is only supported for legacy reasons and performance is // not critical here. if (apply_rotation() && rotation != kVideoRotation_0) { - buffer = I420Buffer::Rotate(*buffer->NativeToI420Buffer(), + buffer = I420Buffer::Rotate(buffer->NativeToI420Buffer(), rotation); if (rotation == kVideoRotation_90 || rotation == kVideoRotation_270) { std::swap(captured_width, captured_height); diff --git a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm index 8394d664fb..942171be29 100644 --- a/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm +++ b/webrtc/sdk/objc/Framework/Classes/objcvideotracksource.mm @@ -12,7 +12,6 @@ #import "RTCVideoFrame+Private.h" -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/common_video/include/corevideo_frame_buffer.h" namespace webrtc { @@ -61,7 +60,7 @@ void ObjcVideoTrackSource::OnCapturedFrame(RTCVideoFrame* frame) { // not critical here. webrtc::VideoRotation rotation = static_cast(frame.rotation); if (apply_rotation() && rotation != kVideoRotation_0) { - buffer = I420Buffer::Rotate(*buffer->NativeToI420Buffer(), rotation); + buffer = I420Buffer::Rotate(buffer->NativeToI420Buffer(), rotation); rotation = kVideoRotation_0; } diff --git a/webrtc/test/fake_texture_frame.h b/webrtc/test/fake_texture_frame.h index 4226f26d3f..c857f48343 100644 --- a/webrtc/test/fake_texture_frame.h +++ b/webrtc/test/fake_texture_frame.h @@ -10,7 +10,6 @@ #ifndef WEBRTC_TEST_FAKE_TEXTURE_FRAME_H_ #define WEBRTC_TEST_FAKE_TEXTURE_FRAME_H_ -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/api/video/video_frame.h" #include "webrtc/base/checks.h" #include "webrtc/common_video/include/video_frame_buffer.h" diff --git a/webrtc/test/frame_generator_capturer.cc b/webrtc/test/frame_generator_capturer.cc index 641000dc6e..d16d8c836f 100644 --- a/webrtc/test/frame_generator_capturer.cc +++ b/webrtc/test/frame_generator_capturer.cc @@ -17,7 +17,6 @@ #include "webrtc/base/logging.h" #include "webrtc/base/platform_thread.h" #include "webrtc/base/task_queue.h" -#include "webrtc/base/timeutils.h" #include "webrtc/system_wrappers/include/clock.h" #include "webrtc/system_wrappers/include/sleep.h" #include "webrtc/test/frame_generator.h" diff --git a/webrtc/video/overuse_frame_detector.cc b/webrtc/video/overuse_frame_detector.cc index 9f650579ea..42ee350257 100644 --- a/webrtc/video/overuse_frame_detector.cc +++ b/webrtc/video/overuse_frame_detector.cc @@ -23,7 +23,6 @@ #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/base/numerics/exp_filter.h" -#include "webrtc/base/timeutils.h" #include "webrtc/common_video/include/frame_callback.h" #include "webrtc/system_wrappers/include/field_trial.h" diff --git a/webrtc/video/receive_statistics_proxy_unittest.cc b/webrtc/video/receive_statistics_proxy_unittest.cc index fd025f87d6..36f5346900 100644 --- a/webrtc/video/receive_statistics_proxy_unittest.cc +++ b/webrtc/video/receive_statistics_proxy_unittest.cc @@ -12,7 +12,6 @@ #include -#include "webrtc/api/video/i420_buffer.h" #include "webrtc/api/video/video_frame.h" #include "webrtc/api/video/video_rotation.h" #include "webrtc/modules/video_coding/include/video_codec_interface.h" diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc index 23dbffaa42..e24cb41aac 100644 --- a/webrtc/video/video_send_stream_tests.cc +++ b/webrtc/video/video_send_stream_tests.cc @@ -18,7 +18,6 @@ #include "webrtc/base/logging.h" #include "webrtc/base/platform_thread.h" #include "webrtc/base/rate_limiter.h" -#include "webrtc/base/timeutils.h" #include "webrtc/call/call.h" #include "webrtc/common_video/include/frame_callback.h" #include "webrtc/modules/rtp_rtcp/include/rtp_header_parser.h" diff --git a/webrtc/video_frame.h b/webrtc/video_frame.h index 93cc171367..47e58a1b62 100644 --- a/webrtc/video_frame.h +++ b/webrtc/video_frame.h @@ -17,6 +17,8 @@ // this file until we have figured out how to refactor and clean up // related interfaces. +#include "webrtc/api/video/video_frame.h" +#include "webrtc/api/video/i420_buffer.h" #include "webrtc/common_types.h" #include "webrtc/typedefs.h"