Deprecate EventFactory and delete all usage.

Will be deleted as soon as downstream calls of
VideoCodingModule::Create are updated.

Tbr: sprang@webrtc.org  # Trivial change in video/
Bug: webrtc:3380
Change-Id: Iaeb6da2fb68991225fe9086ddddd4a553e1620b4
Reviewed-on: https://webrtc-review.googlesource.com/c/107890
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Philip Eliasson <philipel@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25554}
This commit is contained in:
Niels Möller
2018-11-07 16:36:22 +01:00
committed by Commit Bot
parent 54b4924349
commit 689983f6bc
11 changed files with 29 additions and 39 deletions

View File

@ -166,6 +166,7 @@ rtc_static_library("video_coding") {
"../../api/video_codecs:video_codecs_api", "../../api/video_codecs:video_codecs_api",
"../../common_video", "../../common_video",
"../../rtc_base:checks", "../../rtc_base:checks",
"../../rtc_base:deprecation",
"../../rtc_base:rtc_base", "../../rtc_base:rtc_base",
"../../rtc_base:rtc_base_approved", "../../rtc_base:rtc_base_approved",
"../../rtc_base:rtc_numerics", "../../rtc_base:rtc_numerics",

View File

@ -27,6 +27,7 @@
#include "modules/include/module.h" #include "modules/include/module.h"
#include "modules/include/module_common_types.h" #include "modules/include/module_common_types.h"
#include "modules/video_coding/include/video_coding_defines.h" #include "modules/video_coding/include/video_coding_defines.h"
#include "rtc_base/deprecation.h"
#include "system_wrappers/include/event_wrapper.h" #include "system_wrappers/include/event_wrapper.h"
namespace webrtc { namespace webrtc {
@ -37,6 +38,7 @@ class VideoDecoder;
class VideoEncoder; class VideoEncoder;
struct CodecSpecificInfo; struct CodecSpecificInfo;
// DEPRECATED
class EventFactory { class EventFactory {
public: public:
virtual ~EventFactory() {} virtual ~EventFactory() {}
@ -44,7 +46,7 @@ class EventFactory {
virtual EventWrapper* CreateEvent() = 0; virtual EventWrapper* CreateEvent() = 0;
}; };
class EventFactoryImpl : public EventFactory { class RTC_DEPRECATED EventFactoryImpl : public EventFactory {
public: public:
~EventFactoryImpl() override {} ~EventFactoryImpl() override {}
@ -68,8 +70,13 @@ class VideoCodingModule : public Module {
public: public:
enum SenderNackMode { kNackNone, kNackAll, kNackSelective }; enum SenderNackMode { kNackNone, kNackAll, kNackSelective };
RTC_DEPRECATED
static VideoCodingModule* Create(Clock* clock,
EventFactory* /* event_factory*/) {
return Create(clock);
}
// DEPRECATED. // DEPRECATED.
static VideoCodingModule* Create(Clock* clock, EventFactory* event_factory); static VideoCodingModule* Create(Clock* clock);
/* /*
* Sender * Sender

View File

@ -35,7 +35,6 @@ enum VCMNackMode { kNack, kNoNack };
// forward declarations // forward declarations
class Clock; class Clock;
class EventFactory;
class EventWrapper; class EventWrapper;
class VCMFrameBuffer; class VCMFrameBuffer;
class VCMPacket; class VCMPacket;

View File

@ -28,32 +28,25 @@ namespace webrtc {
enum { kMaxReceiverDelayMs = 10000 }; enum { kMaxReceiverDelayMs = 10000 };
VCMReceiver::VCMReceiver(VCMTiming* timing, VCMReceiver::VCMReceiver(VCMTiming* timing, Clock* clock)
Clock* clock,
EventFactory* event_factory)
: VCMReceiver::VCMReceiver(timing, : VCMReceiver::VCMReceiver(timing,
clock, clock,
event_factory, absl::WrapUnique(EventWrapper::Create()),
absl::WrapUnique(EventWrapper::Create()),
nullptr, // NackSender nullptr, // NackSender
nullptr) // KeyframeRequestSender nullptr) // KeyframeRequestSender
{} {}
VCMReceiver::VCMReceiver(VCMTiming* timing, VCMReceiver::VCMReceiver(VCMTiming* timing,
Clock* clock, Clock* clock,
EventFactory* event_factory,
NackSender* nack_sender, NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender) KeyFrameRequestSender* keyframe_request_sender)
: VCMReceiver( : VCMReceiver(timing,
timing, clock,
clock, absl::WrapUnique(EventWrapper::Create()),
std::unique_ptr<EventWrapper>(event_factory absl::WrapUnique(EventWrapper::Create()),
? event_factory->CreateEvent() nack_sender,
: EventWrapper::Create()), keyframe_request_sender) {}
std::unique_ptr<EventWrapper>(event_factory
? event_factory->CreateEvent()
: EventWrapper::Create()),
nack_sender,
keyframe_request_sender) {}
VCMReceiver::VCMReceiver(VCMTiming* timing, VCMReceiver::VCMReceiver(VCMTiming* timing,
Clock* clock, Clock* clock,

View File

@ -30,17 +30,16 @@ class VCMReceiver {
public: public:
// Constructor for current interface, will be removed when the // Constructor for current interface, will be removed when the
// new jitter buffer is in place. // new jitter buffer is in place.
VCMReceiver(VCMTiming* timing, Clock* clock, EventFactory* event_factory); VCMReceiver(VCMTiming* timing, Clock* clock);
// Create method for the new jitter buffer. // Create method for the new jitter buffer.
VCMReceiver(VCMTiming* timing, VCMReceiver(VCMTiming* timing,
Clock* clock, Clock* clock,
EventFactory* event_factory,
NackSender* nack_sender, NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender); KeyFrameRequestSender* keyframe_request_sender);
// Using this constructor, you can specify a different event factory for the // Using this constructor, you can specify a different event implemetation for
// jitter buffer. Useful for unit tests when you want to simulate incoming // the jitter buffer. Useful for unit tests when you want to simulate incoming
// packets, in which case the jitter buffer's wait event is different from // packets, in which case the jitter buffer's wait event is different from
// that of VCMReceiver itself. // that of VCMReceiver itself.
// //

View File

@ -30,7 +30,7 @@ class TestVCMReceiver : public ::testing::Test {
TestVCMReceiver() TestVCMReceiver()
: clock_(new SimulatedClock(0)), : clock_(new SimulatedClock(0)),
timing_(clock_.get()), timing_(clock_.get()),
receiver_(&timing_, clock_.get(), nullptr) { receiver_(&timing_, clock_.get()) {
stream_generator_.reset( stream_generator_.reset(
new StreamGenerator(0, clock_->TimeInMilliseconds())); new StreamGenerator(0, clock_->TimeInMilliseconds()));
} }

View File

@ -81,17 +81,13 @@ class EncodedImageCallbackWrapper : public EncodedImageCallback {
class VideoCodingModuleImpl : public VideoCodingModule { class VideoCodingModuleImpl : public VideoCodingModule {
public: public:
VideoCodingModuleImpl(Clock* clock, VideoCodingModuleImpl(Clock* clock,
EventFactory* event_factory, EventFactory* /* event_factory */,
NackSender* nack_sender, NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender) KeyFrameRequestSender* keyframe_request_sender)
: VideoCodingModule(), : VideoCodingModule(),
sender_(clock, &post_encode_callback_), sender_(clock, &post_encode_callback_),
timing_(new VCMTiming(clock)), timing_(new VCMTiming(clock)),
receiver_(clock, receiver_(clock, timing_.get(), nack_sender, keyframe_request_sender) {}
event_factory,
timing_.get(),
nack_sender,
keyframe_request_sender) {}
virtual ~VideoCodingModuleImpl() {} virtual ~VideoCodingModuleImpl() {}
@ -221,11 +217,9 @@ class VideoCodingModuleImpl : public VideoCodingModule {
// DEPRECATED. Create method for current interface, will be removed when the // DEPRECATED. Create method for current interface, will be removed when the
// new jitter buffer is in place. // new jitter buffer is in place.
VideoCodingModule* VideoCodingModule::Create(Clock* clock, VideoCodingModule* VideoCodingModule::Create(Clock* clock) {
EventFactory* event_factory) {
RTC_DCHECK(clock); RTC_DCHECK(clock);
RTC_DCHECK(event_factory); return new VideoCodingModuleImpl(clock, nullptr, nullptr, nullptr);
return new VideoCodingModuleImpl(clock, event_factory, nullptr, nullptr);
} }
} // namespace webrtc } // namespace webrtc

View File

@ -127,7 +127,6 @@ class VideoSender {
class VideoReceiver : public Module { class VideoReceiver : public Module {
public: public:
VideoReceiver(Clock* clock, VideoReceiver(Clock* clock,
EventFactory* event_factory,
VCMTiming* timing, VCMTiming* timing,
NackSender* nack_sender = nullptr, NackSender* nack_sender = nullptr,
KeyFrameRequestSender* keyframe_request_sender = nullptr); KeyFrameRequestSender* keyframe_request_sender = nullptr);

View File

@ -26,7 +26,6 @@ namespace webrtc {
namespace vcm { namespace vcm {
VideoReceiver::VideoReceiver(Clock* clock, VideoReceiver::VideoReceiver(Clock* clock,
EventFactory* event_factory,
VCMTiming* timing, VCMTiming* timing,
NackSender* nack_sender, NackSender* nack_sender,
KeyFrameRequestSender* keyframe_request_sender) KeyFrameRequestSender* keyframe_request_sender)
@ -34,7 +33,6 @@ VideoReceiver::VideoReceiver(Clock* clock,
_timing(timing), _timing(timing),
_receiver(_timing, _receiver(_timing,
clock_, clock_,
event_factory,
nack_sender, nack_sender,
keyframe_request_sender), keyframe_request_sender),
_decodedFrameCallback(_timing, clock_), _decodedFrameCallback(_timing, clock_),

View File

@ -36,7 +36,7 @@ class TestVideoReceiver : public ::testing::Test {
virtual void SetUp() { virtual void SetUp() {
timing_.reset(new VCMTiming(&clock_)); timing_.reset(new VCMTiming(&clock_));
receiver_.reset(new VideoReceiver(&clock_, nullptr, timing_.get())); receiver_.reset(new VideoReceiver(&clock_, timing_.get()));
receiver_->RegisterExternalDecoder(&decoder_, kUnusedPayloadType); receiver_->RegisterExternalDecoder(&decoder_, kUnusedPayloadType);
const size_t kMaxNackListSize = 250; const size_t kMaxNackListSize = 250;
const int kMaxPacketAgeToNack = 450; const int kMaxPacketAgeToNack = 450;

View File

@ -138,7 +138,7 @@ VideoReceiveStream::VideoReceiveStream(
call_stats_(call_stats), call_stats_(call_stats),
rtp_receive_statistics_(ReceiveStatistics::Create(clock_)), rtp_receive_statistics_(ReceiveStatistics::Create(clock_)),
timing_(new VCMTiming(clock_)), timing_(new VCMTiming(clock_)),
video_receiver_(clock_, nullptr, timing_.get(), this, this), video_receiver_(clock_, timing_.get(), this, this),
stats_proxy_(&config_, clock_), stats_proxy_(&config_, clock_),
rtp_video_stream_receiver_(&transport_adapter_, rtp_video_stream_receiver_(&transport_adapter_,
call_stats, call_stats,