Remove ViEImageProcess usage in VideoSendStream.
Replaces interface usage with direct calls on ViEEncoder removing a
layer of indirection. Also removing some methods from ViEImageProcess
that were only added for Video{Send,Receive}Stream usage.
BUG=1695
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/45319004
Cr-Commit-Position: refs/heads/master@{#9111}
diff --git a/talk/media/webrtc/fakewebrtcvideoengine.h b/talk/media/webrtc/fakewebrtcvideoengine.h
index 43b1d2a..34d77b6 100644
--- a/talk/media/webrtc/fakewebrtcvideoengine.h
+++ b/talk/media/webrtc/fakewebrtcvideoengine.h
@@ -1307,12 +1307,6 @@
return 0;
}
WEBRTC_STUB(EnableColorEnhancement, (const int, const bool));
- WEBRTC_VOID_STUB(RegisterPreEncodeCallback,
- (int, webrtc::I420FrameCallback*));
- WEBRTC_VOID_STUB(DeRegisterPreEncodeCallback, (int));
- WEBRTC_VOID_STUB(RegisterPreRenderCallback,
- (int, webrtc::I420FrameCallback*));
- WEBRTC_VOID_STUB(DeRegisterPreRenderCallback, (int));
// webrtc::ViEExternalCodec
WEBRTC_FUNC(RegisterExternalSendCodec,
(const int channel,
diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
index af937b9..7dc8816 100644
--- a/webrtc/video/video_send_stream.cc
+++ b/webrtc/video/video_send_stream.cc
@@ -216,13 +216,9 @@
video_engine_base_->RegisterSendSideDelayObserver(channel_, &stats_proxy_);
video_engine_base_->RegisterSendStatisticsProxy(channel_, &stats_proxy_);
- image_process_ = ViEImageProcess::GetInterface(video_engine);
- image_process_->RegisterPreEncodeCallback(channel_,
- config_.pre_encode_callback);
- if (config_.post_encode_callback) {
- image_process_->RegisterPostEncodeImageCallback(channel_,
- &encoded_frame_proxy_);
- }
+ vie_encoder_->RegisterPreEncodeCallback(config_.pre_encode_callback);
+ if (config_.post_encode_callback)
+ vie_encoder_->RegisterPostEncodeImageCallback(&encoded_frame_proxy_);
if (config_.suspend_below_min_bitrate)
codec_->SuspendBelowMinBitrate(channel_);
@@ -246,7 +242,8 @@
vie_channel_->RegisterSendChannelRtpStatisticsCallback(nullptr);
vie_channel_->RegisterSendChannelRtcpStatisticsCallback(nullptr);
- image_process_->DeRegisterPreEncodeCallback(channel_);
+ vie_encoder_->RegisterPreEncodeCallback(nullptr);
+ vie_encoder_->RegisterPostEncodeImageCallback(nullptr);
vie_channel_->DeregisterSendTransport();
@@ -258,7 +255,6 @@
video_engine_base_->DeleteChannel(channel_);
- image_process_->Release();
video_engine_base_->Release();
capture_->Release();
codec_->Release();
diff --git a/webrtc/video/video_send_stream.h b/webrtc/video/video_send_stream.h
index 86e0534..bf34450 100644
--- a/webrtc/video/video_send_stream.h
+++ b/webrtc/video/video_send_stream.h
@@ -35,7 +35,6 @@
class ViEEncoder;
class ViEExternalCapture;
class ViEExternalCodec;
-class ViEImageProcess;
namespace internal {
@@ -91,7 +90,6 @@
ViECodec* codec_;
ViEEncoder* vie_encoder_;
ViEExternalCapture* external_capture_;
- ViEImageProcess* image_process_;
int channel_;
int capture_id_;
diff --git a/webrtc/video_engine/include/vie_image_process.h b/webrtc/video_engine/include/vie_image_process.h
index adf0c19..4a05a06 100644
--- a/webrtc/video_engine/include/vie_image_process.h
+++ b/webrtc/video_engine/include/vie_image_process.h
@@ -94,27 +94,6 @@
virtual int EnableColorEnhancement(const int video_channel,
const bool enable) = 0;
- // New-style callbacks, used by VideoSendStream/VideoReceiveStream.
- virtual void RegisterPreEncodeCallback(
- int video_channel,
- I420FrameCallback* pre_encode_callback) = 0;
- virtual void DeRegisterPreEncodeCallback(int video_channel) = 0;
-
- virtual void RegisterPostEncodeImageCallback(
- int video_channel,
- EncodedImageCallback* post_encode_callback) {}
- virtual void DeRegisterPostEncodeCallback(int video_channel) {}
-
- virtual void RegisterPreDecodeImageCallback(
- int video_channel,
- EncodedImageCallback* pre_decode_callback) {}
- virtual void DeRegisterPreDecodeCallback(int video_channel) {}
-
- virtual void RegisterPreRenderCallback(
- int video_channel,
- I420FrameCallback* pre_render_callback) = 0;
- virtual void DeRegisterPreRenderCallback(int video_channel) = 0;
-
protected:
ViEImageProcess() {}
virtual ~ViEImageProcess() {}
diff --git a/webrtc/video_engine/vie_encoder.cc b/webrtc/video_engine/vie_encoder.cc
index ac5ad7a..a08d482 100644
--- a/webrtc/video_engine/vie_encoder.cc
+++ b/webrtc/video_engine/vie_encoder.cc
@@ -904,20 +904,11 @@
pre_encode_callback_ = pre_encode_callback;
}
-void ViEEncoder::DeRegisterPreEncodeCallback() {
- CriticalSectionScoped cs(callback_cs_.get());
- pre_encode_callback_ = NULL;
-}
-
void ViEEncoder::RegisterPostEncodeImageCallback(
EncodedImageCallback* post_encode_callback) {
vcm_->RegisterPostEncodeImageCallback(post_encode_callback);
}
-void ViEEncoder::DeRegisterPostEncodeImageCallback() {
- vcm_->RegisterPostEncodeImageCallback(NULL);
-}
-
void ViEEncoder::RegisterSendStatisticsProxy(
SendStatisticsProxy* send_statistics_proxy) {
CriticalSectionScoped cs(callback_cs_.get());
diff --git a/webrtc/video_engine/vie_encoder.h b/webrtc/video_engine/vie_encoder.h
index 074aa61..2909249 100644
--- a/webrtc/video_engine/vie_encoder.h
+++ b/webrtc/video_engine/vie_encoder.h
@@ -169,10 +169,8 @@
// New-style callbacks, used by VideoSendStream.
void RegisterPreEncodeCallback(I420FrameCallback* pre_encode_callback);
- void DeRegisterPreEncodeCallback();
void RegisterPostEncodeImageCallback(
EncodedImageCallback* post_encode_callback);
- void DeRegisterPostEncodeImageCallback();
void RegisterSendStatisticsProxy(SendStatisticsProxy* send_statistics_proxy);
diff --git a/webrtc/video_engine/vie_image_process_impl.cc b/webrtc/video_engine/vie_image_process_impl.cc
index 13e520a..f8c3877 100644
--- a/webrtc/video_engine/vie_image_process_impl.cc
+++ b/webrtc/video_engine/vie_image_process_impl.cc
@@ -203,66 +203,4 @@
}
return 0;
}
-
-void ViEImageProcessImpl::RegisterPreEncodeCallback(
- int video_channel,
- I420FrameCallback* pre_encode_callback) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEEncoder* vie_encoder = cs.Encoder(video_channel);
- vie_encoder->RegisterPreEncodeCallback(pre_encode_callback);
-}
-
-void ViEImageProcessImpl::DeRegisterPreEncodeCallback(int video_channel) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEEncoder* vie_encoder = cs.Encoder(video_channel);
- assert(vie_encoder != NULL);
- vie_encoder->DeRegisterPreEncodeCallback();
-}
-
-void ViEImageProcessImpl::RegisterPostEncodeImageCallback(
- int video_channel,
- EncodedImageCallback* post_encode_callback) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEEncoder* vie_encoder = cs.Encoder(video_channel);
- assert(vie_encoder != NULL);
- vie_encoder->RegisterPostEncodeImageCallback(post_encode_callback);
-}
-
-void ViEImageProcessImpl::DeRegisterPostEncodeCallback(int video_channel) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEEncoder* vie_encoder = cs.Encoder(video_channel);
- assert(vie_encoder != NULL);
- vie_encoder->DeRegisterPostEncodeImageCallback();
-}
-
-void ViEImageProcessImpl::RegisterPreDecodeImageCallback(
- int video_channel,
- EncodedImageCallback* pre_decode_callback) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEChannel* channel = cs.Channel(video_channel);
- channel->RegisterPreDecodeImageCallback(pre_decode_callback);
-}
-
-void ViEImageProcessImpl::DeRegisterPreDecodeCallback(int video_channel) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEChannel* channel = cs.Channel(video_channel);
- channel->RegisterPreDecodeImageCallback(NULL);
-}
-
-void ViEImageProcessImpl::RegisterPreRenderCallback(
- int video_channel,
- I420FrameCallback* pre_render_callback) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEChannel* vie_channel = cs.Channel(video_channel);
- assert(vie_channel != NULL);
- vie_channel->RegisterPreRenderCallback(pre_render_callback);
-}
-
-void ViEImageProcessImpl::DeRegisterPreRenderCallback(int video_channel) {
- ViEChannelManagerScoped cs(*(shared_data_->channel_manager()));
- ViEChannel* vie_channel = cs.Channel(video_channel);
- assert(vie_channel != NULL);
- vie_channel->RegisterPreRenderCallback(NULL);
-}
-
} // namespace webrtc
diff --git a/webrtc/video_engine/vie_image_process_impl.h b/webrtc/video_engine/vie_image_process_impl.h
index 64775b1..4806d79 100644
--- a/webrtc/video_engine/vie_image_process_impl.h
+++ b/webrtc/video_engine/vie_image_process_impl.h
@@ -37,26 +37,6 @@
virtual int EnableDeflickering(const int capture_id, const bool enable);
virtual int EnableColorEnhancement(const int video_channel,
const bool enable);
- void RegisterPreEncodeCallback(
- int video_channel,
- I420FrameCallback* pre_encode_callback) override;
- void DeRegisterPreEncodeCallback(int video_channel) override;
-
- void RegisterPostEncodeImageCallback(
- int video_channel,
- EncodedImageCallback* post_encode_callback) override;
- void DeRegisterPostEncodeCallback(int video_channel) override;
-
- void RegisterPreDecodeImageCallback(
- int video_channel,
- EncodedImageCallback* post_encode_callback) override;
- void DeRegisterPreDecodeCallback(int video_channel) override;
-
- void RegisterPreRenderCallback(
- int video_channel,
- I420FrameCallback* pre_render_callback) override;
- void DeRegisterPreRenderCallback(int video_channel) override;
-
protected:
explicit ViEImageProcessImpl(ViESharedData* shared_data);
virtual ~ViEImageProcessImpl();