Reland of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #1 id:1 of https://codereview.webrtc.org/2471783002/ )
Reason for revert:
Relanding after known downstream breakages have been fixed.
Original issue's description:
> Revert of Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame. (patchset #7 id:120001 of https://codereview.webrtc.org/2383093002/ )
>
> Reason for revert:
> Breaks chrome, see https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/19019/steps/compile/logs/stdio
>
> Analysis: Chrome uses cricket::VideoFrame, without explicitly including webrtc/media/base/videoframe.h, and breaks when that file is no longer included by any other webrtc headers. Will reland after updating Chrome.
>
> Original issue's description:
> > Delete all use of cricket::VideoFrame and cricket::WebRtcVideoFrame.
> >
> > Replaced with webrtc::VideoFrame.
> >
> > TBR=mflodman@webrtc.org
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/45c8b8940042bd2574c39920804ade8343cefdba
> > Cr-Commit-Position: refs/heads/master@{#14885}
>
> TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/7341ab8e2505c9763d208e069bda269018357e7d
> Cr-Commit-Position: refs/heads/master@{#14886}
TBR=perkj@webrtc.org,pthatcher@webrtc.org,tkchin@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682
Review-Url: https://codereview.webrtc.org/2487633002
Cr-Commit-Position: refs/heads/master@{#15039}
diff --git a/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java b/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
index 8ee4d27..3a6a167 100644
--- a/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
+++ b/webrtc/api/android/java/src/org/webrtc/VideoRenderer.java
@@ -20,7 +20,7 @@
*/
public class VideoRenderer {
/**
- * Java version of cricket::VideoFrame. Frames are only constructed from native code and test
+ * Java version of webrtc::VideoFrame. Frames are only constructed from native code and test
* code.
*/
public static class I420Frame {
diff --git a/webrtc/api/android/jni/peerconnection_jni.cc b/webrtc/api/android/jni/peerconnection_jni.cc
index e76444e..7012fc3 100644
--- a/webrtc/api/android/jni/peerconnection_jni.cc
+++ b/webrtc/api/android/jni/peerconnection_jni.cc
@@ -733,7 +733,7 @@
// Wrapper dispatching rtc::VideoSinkInterface to a Java VideoRenderer
// instance.
class JavaVideoRendererWrapper
- : public rtc::VideoSinkInterface<cricket::VideoFrame> {
+ : public rtc::VideoSinkInterface<webrtc::VideoFrame> {
public:
JavaVideoRendererWrapper(JNIEnv* jni, jobject j_callbacks)
: j_callbacks_(jni, j_callbacks),
@@ -753,7 +753,7 @@
virtual ~JavaVideoRendererWrapper() {}
- void OnFrame(const cricket::VideoFrame& video_frame) override {
+ void OnFrame(const webrtc::VideoFrame& video_frame) override {
ScopedLocalRefFrame local_ref_frame(jni());
jobject j_frame =
(video_frame.video_frame_buffer()->native_handle() != nullptr)
@@ -769,13 +769,12 @@
// Make a shallow copy of |frame| to be used with Java. The callee has
// ownership of the frame, and the frame should be released with
// VideoRenderer.releaseNativeFrame().
- static jlong javaShallowCopy(const cricket::VideoFrame* frame) {
- return jlongFromPointer(new cricket::WebRtcVideoFrame(
- frame->video_frame_buffer(), frame->rotation(), frame->timestamp_us()));
+ static jlong javaShallowCopy(const webrtc::VideoFrame* frame) {
+ return jlongFromPointer(new webrtc::VideoFrame(*frame));
}
// Return a VideoRenderer.I420Frame referring to the data in |frame|.
- jobject CricketToJavaI420Frame(const cricket::VideoFrame* frame) {
+ jobject CricketToJavaI420Frame(const webrtc::VideoFrame* frame) {
jintArray strides = jni()->NewIntArray(3);
jint* strides_array = jni()->GetIntArrayElements(strides, NULL);
strides_array[0] = frame->video_frame_buffer()->StrideY();
@@ -806,7 +805,7 @@
}
// Return a VideoRenderer.I420Frame referring texture object in |frame|.
- jobject CricketToJavaTextureFrame(const cricket::VideoFrame* frame) {
+ jobject CricketToJavaTextureFrame(const webrtc::VideoFrame* frame) {
NativeHandleImpl* handle = reinterpret_cast<NativeHandleImpl*>(
frame->video_frame_buffer()->native_handle());
jfloatArray sampling_matrix = handle->sampling_matrix.ToJava(jni());
@@ -951,7 +950,7 @@
JOW(void, VideoRenderer_releaseNativeFrame)(
JNIEnv* jni, jclass, jlong j_frame_ptr) {
- delete reinterpret_cast<const cricket::VideoFrame*>(j_frame_ptr);
+ delete reinterpret_cast<const webrtc::VideoFrame*>(j_frame_ptr);
}
JOW(void, MediaStreamTrack_free)(JNIEnv*, jclass, jlong j_p) {
@@ -2123,7 +2122,7 @@
LOG(LS_INFO) << "VideoTrack::nativeAddRenderer";
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
->AddOrUpdateSink(
- reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
+ reinterpret_cast<rtc::VideoSinkInterface<webrtc::VideoFrame>*>(
j_renderer_pointer),
rtc::VideoSinkWants());
}
@@ -2133,7 +2132,7 @@
jlong j_video_track_pointer, jlong j_renderer_pointer) {
reinterpret_cast<VideoTrackInterface*>(j_video_track_pointer)
->RemoveSink(
- reinterpret_cast<rtc::VideoSinkInterface<cricket::VideoFrame>*>(
+ reinterpret_cast<rtc::VideoSinkInterface<webrtc::VideoFrame>*>(
j_renderer_pointer));
}
diff --git a/webrtc/api/androidvideotracksource.cc b/webrtc/api/androidvideotracksource.cc
index 9242e5f..947311a 100644
--- a/webrtc/api/androidvideotracksource.cc
+++ b/webrtc/api/androidvideotracksource.cc
@@ -95,9 +95,8 @@
buffer->MutableDataU(), buffer->StrideU(),
buffer->width(), buffer->height());
- OnFrame(cricket::WebRtcVideoFrame(
- buffer, static_cast<webrtc::VideoRotation>(rotation),
- translated_camera_time_us));
+ OnFrame(VideoFrame(buffer, static_cast<webrtc::VideoRotation>(rotation),
+ translated_camera_time_us));
}
void AndroidVideoTrackSource::OnTextureFrameCaptured(
@@ -147,13 +146,13 @@
matrix.Rotate(static_cast<webrtc::VideoRotation>(rotation));
}
- OnFrame(cricket::WebRtcVideoFrame(
- surface_texture_helper_->CreateTextureFrame(
- adapted_width, adapted_height,
- webrtc_jni::NativeHandleImpl(handle.oes_texture_id, matrix)),
- do_rotate ? webrtc::kVideoRotation_0
- : static_cast<webrtc::VideoRotation>(rotation),
- translated_camera_time_us));
+ OnFrame(VideoFrame(
+ surface_texture_helper_->CreateTextureFrame(
+ adapted_width, adapted_height,
+ webrtc_jni::NativeHandleImpl(handle.oes_texture_id, matrix)),
+ do_rotate ? webrtc::kVideoRotation_0
+ : static_cast<webrtc::VideoRotation>(rotation),
+ translated_camera_time_us));
}
void AndroidVideoTrackSource::OnOutputFormatRequest(int width,
diff --git a/webrtc/api/mediastreaminterface.h b/webrtc/api/mediastreaminterface.h
index f813dda..baebad7 100644
--- a/webrtc/api/mediastreaminterface.h
+++ b/webrtc/api/mediastreaminterface.h
@@ -25,9 +25,9 @@
#include "webrtc/base/scoped_ref_ptr.h"
#include "webrtc/base/optional.h"
#include "webrtc/media/base/mediachannel.h"
-#include "webrtc/media/base/videoframe.h"
#include "webrtc/media/base/videosinkinterface.h"
#include "webrtc/media/base/videosourceinterface.h"
+#include "webrtc/video_frame.h"
namespace webrtc {
@@ -98,7 +98,7 @@
// The same source can be used in multiple VideoTracks.
class VideoTrackSourceInterface
: public MediaSourceInterface,
- public rtc::VideoSourceInterface<cricket::VideoFrame> {
+ public rtc::VideoSourceInterface<VideoFrame> {
public:
struct Stats {
// Original size of captured frame, before video adaptation.
@@ -131,13 +131,12 @@
class VideoTrackInterface
: public MediaStreamTrackInterface,
- public rtc::VideoSourceInterface<cricket::VideoFrame> {
+ public rtc::VideoSourceInterface<VideoFrame> {
public:
// Register a video sink for this track.
- void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+ void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override{};
- void RemoveSink(
- rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override{};
+ void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override{};
virtual VideoTrackSourceInterface* GetSource() const = 0;
diff --git a/webrtc/api/mediastreamtrackproxy.h b/webrtc/api/mediastreamtrackproxy.h
index 12fdc36..206a467 100644
--- a/webrtc/api/mediastreamtrackproxy.h
+++ b/webrtc/api/mediastreamtrackproxy.h
@@ -42,12 +42,10 @@
PROXY_CONSTMETHOD0(bool, enabled)
PROXY_METHOD1(bool, set_enabled, bool)
PROXY_WORKER_METHOD2(void,
- AddOrUpdateSink,
- rtc::VideoSinkInterface<cricket::VideoFrame>*,
- const rtc::VideoSinkWants&)
- PROXY_WORKER_METHOD1(void,
- RemoveSink,
- rtc::VideoSinkInterface<cricket::VideoFrame>*)
+ AddOrUpdateSink,
+ rtc::VideoSinkInterface<VideoFrame>*,
+ const rtc::VideoSinkWants&)
+ PROXY_WORKER_METHOD1(void, RemoveSink, rtc::VideoSinkInterface<VideoFrame>*)
PROXY_CONSTMETHOD0(VideoTrackSourceInterface*, GetSource)
PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)
diff --git a/webrtc/api/rtcstatscollector_unittest.cc b/webrtc/api/rtcstatscollector_unittest.cc
index adc1520..73d70dc 100644
--- a/webrtc/api/rtcstatscollector_unittest.cc
+++ b/webrtc/api/rtcstatscollector_unittest.cc
@@ -232,9 +232,9 @@
bool remote() const override { return false; }
void RegisterObserver(ObserverInterface* observer) override {}
void UnregisterObserver(ObserverInterface* observer) override {}
- void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+ void AddOrUpdateSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override {}
- void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override {
+ void RemoveSink(rtc::VideoSinkInterface<webrtc::VideoFrame>* sink) override {
}
bool is_screencast() const override { return false; }
rtc::Optional<bool> needs_denoising() const override {
diff --git a/webrtc/api/videocapturertracksource_unittest.cc b/webrtc/api/videocapturertracksource_unittest.cc
index 67c2498..a0350d9 100644
--- a/webrtc/api/videocapturertracksource_unittest.cc
+++ b/webrtc/api/videocapturertracksource_unittest.cc
@@ -18,7 +18,6 @@
#include "webrtc/media/base/fakemediaengine.h"
#include "webrtc/media/base/fakevideocapturer.h"
#include "webrtc/media/base/fakevideorenderer.h"
-#include "webrtc/media/engine/webrtcvideoframe.h"
using webrtc::FakeConstraints;
using webrtc::VideoCapturerTrackSource;
diff --git a/webrtc/api/videosourceproxy.h b/webrtc/api/videosourceproxy.h
index 0c18161..eaec17b 100644
--- a/webrtc/api/videosourceproxy.h
+++ b/webrtc/api/videosourceproxy.h
@@ -28,11 +28,9 @@
PROXY_METHOD1(bool, GetStats, Stats*)
PROXY_WORKER_METHOD2(void,
AddOrUpdateSink,
- rtc::VideoSinkInterface<cricket::VideoFrame>*,
+ rtc::VideoSinkInterface<VideoFrame>*,
const rtc::VideoSinkWants&)
- PROXY_WORKER_METHOD1(void,
- RemoveSink,
- rtc::VideoSinkInterface<cricket::VideoFrame>*)
+ PROXY_WORKER_METHOD1(void, RemoveSink, rtc::VideoSinkInterface<VideoFrame>*)
PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)
PROXY_METHOD1(void, UnregisterObserver, ObserverInterface*)
END_PROXY()
diff --git a/webrtc/api/videotrack.cc b/webrtc/api/videotrack.cc
index 234b4cf..b47a320 100644
--- a/webrtc/api/videotrack.cc
+++ b/webrtc/api/videotrack.cc
@@ -34,9 +34,8 @@
// AddOrUpdateSink and RemoveSink should be called on the worker
// thread.
-void VideoTrack::AddOrUpdateSink(
- rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
- const rtc::VideoSinkWants& wants) {
+void VideoTrack::AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
+ const rtc::VideoSinkWants& wants) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
VideoSourceBase::AddOrUpdateSink(sink, wants);
rtc::VideoSinkWants modified_wants = wants;
@@ -44,8 +43,7 @@
video_source_->AddOrUpdateSink(sink, modified_wants);
}
-void VideoTrack::RemoveSink(
- rtc::VideoSinkInterface<cricket::VideoFrame>* sink) {
+void VideoTrack::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
VideoSourceBase::RemoveSink(sink);
video_source_->RemoveSink(sink);
diff --git a/webrtc/api/videotrack.h b/webrtc/api/videotrack.h
index 60a0a64..cbebec3 100644
--- a/webrtc/api/videotrack.h
+++ b/webrtc/api/videotrack.h
@@ -29,9 +29,9 @@
const std::string& label,
VideoTrackSourceInterface* source);
- void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+ void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override;
- void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
+ void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
VideoTrackSourceInterface* GetSource() const override {
return video_source_.get();
diff --git a/webrtc/api/videotrack_unittest.cc b/webrtc/api/videotrack_unittest.cc
index 0b67c77..5320482 100644
--- a/webrtc/api/videotrack_unittest.cc
+++ b/webrtc/api/videotrack_unittest.cc
@@ -17,7 +17,6 @@
#include "webrtc/base/gunit.h"
#include "webrtc/media/base/fakevideocapturer.h"
#include "webrtc/media/base/fakemediaengine.h"
-#include "webrtc/media/engine/webrtcvideoframe.h"
using webrtc::FakeVideoTrackRenderer;
using webrtc::MediaSourceInterface;
diff --git a/webrtc/api/videotracksource.cc b/webrtc/api/videotracksource.cc
index 17d32fb..83ae493 100644
--- a/webrtc/api/videotracksource.cc
+++ b/webrtc/api/videotracksource.cc
@@ -15,7 +15,7 @@
namespace webrtc {
VideoTrackSource::VideoTrackSource(
- rtc::VideoSourceInterface<cricket::VideoFrame>* source,
+ rtc::VideoSourceInterface<VideoFrame>* source,
bool remote)
: source_(source), state_(kInitializing), remote_(remote) {
worker_thread_checker_.DetachFromThread();
@@ -33,7 +33,7 @@
}
void VideoTrackSource::AddOrUpdateSink(
- rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+ rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
if (!source_) {
@@ -42,8 +42,7 @@
source_->AddOrUpdateSink(sink, wants);
}
-void VideoTrackSource::RemoveSink(
- rtc::VideoSinkInterface<cricket::VideoFrame>* sink) {
+void VideoTrackSource::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) {
RTC_DCHECK(worker_thread_checker_.CalledOnValidThread());
if (!source_) {
return;
diff --git a/webrtc/api/videotracksource.h b/webrtc/api/videotracksource.h
index 67e764f..330af23 100644
--- a/webrtc/api/videotracksource.h
+++ b/webrtc/api/videotracksource.h
@@ -22,8 +22,7 @@
class VideoTrackSource : public Notifier<VideoTrackSourceInterface> {
public:
- VideoTrackSource(rtc::VideoSourceInterface<cricket::VideoFrame>* source,
- bool remote);
+ VideoTrackSource(rtc::VideoSourceInterface<VideoFrame>* source, bool remote);
void SetState(SourceState new_state);
// OnSourceDestroyed clears this instance pointer to |source_|. It is useful
// when the underlying rtc::VideoSourceInterface is destroyed before the
@@ -39,13 +38,13 @@
bool GetStats(Stats* stats) override { return false; }
- void AddOrUpdateSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink,
+ void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override;
- void RemoveSink(rtc::VideoSinkInterface<cricket::VideoFrame>* sink) override;
+ void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
private:
rtc::ThreadChecker worker_thread_checker_;
- rtc::VideoSourceInterface<cricket::VideoFrame>* source_;
+ rtc::VideoSourceInterface<VideoFrame>* source_;
cricket::VideoOptions options_;
SourceState state_;
const bool remote_;