Chromium Code Reviews

Unified Diff: webrtc/media/engine/fakewebrtcvideoengine.h

Issue 1821983002: Revert of Initialize/configure video encoders asychronously. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View side-by-side diff with in-line comments
« no previous file with comments | « no previous file | webrtc/media/engine/webrtcvideoengine2_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/fakewebrtcvideoengine.h
diff --git a/webrtc/media/engine/fakewebrtcvideoengine.h b/webrtc/media/engine/fakewebrtcvideoengine.h
index 898277ff2fc54449f29ee2f1b863970d2c633d61..d93431e263a492b2251fa19cb41ef2263e7ab614 100644
--- a/webrtc/media/engine/fakewebrtcvideoengine.h
+++ b/webrtc/media/engine/fakewebrtcvideoengine.h
@@ -39,12 +39,13 @@
// renderer for a channel or it is adding a renderer for a capturer.
static const int kViEChannelIdBase = 0;
static const int kViEChannelIdMax = 1000;
-static const int kEventTimeoutMs = 10000;
// Fake class for mocking out webrtc::VideoDecoder
class FakeWebRtcVideoDecoder : public webrtc::VideoDecoder {
public:
- FakeWebRtcVideoDecoder() : num_frames_received_(0) {}
+ FakeWebRtcVideoDecoder()
+ : num_frames_received_(0) {
+ }
virtual int32_t InitDecode(const webrtc::VideoCodec*, int32_t) {
return WEBRTC_VIDEO_CODEC_OK;
@@ -120,19 +121,15 @@
// Fake class for mocking out webrtc::VideoEnoder
class FakeWebRtcVideoEncoder : public webrtc::VideoEncoder {
public:
- FakeWebRtcVideoEncoder()
- : init_encode_event_(false, false), num_frames_encoded_(0) {}
+ FakeWebRtcVideoEncoder() : num_frames_encoded_(0) {}
virtual int32_t InitEncode(const webrtc::VideoCodec* codecSettings,
int32_t numberOfCores,
size_t maxPayloadSize) {
rtc::CritScope lock(&crit_);
codec_settings_ = *codecSettings;
- init_encode_event_.Set();
- return WEBRTC_VIDEO_CODEC_OK;
- }
-
- bool WaitForInitEncode() { return init_encode_event_.Wait(kEventTimeoutMs); }
+ return WEBRTC_VIDEO_CODEC_OK;
+ }
webrtc::VideoCodec GetCodecSettings() {
rtc::CritScope lock(&crit_);
@@ -144,7 +141,6 @@
const std::vector<webrtc::FrameType>* frame_types) {
rtc::CritScope lock(&crit_);
++num_frames_encoded_;
- init_encode_event_.Set();
return WEBRTC_VIDEO_CODEC_OK;
}
@@ -170,7 +166,6 @@
private:
rtc::CriticalSection crit_;
- rtc::Event init_encode_event_;
int num_frames_encoded_ GUARDED_BY(crit_);
webrtc::VideoCodec codec_settings_ GUARDED_BY(crit_);
};
@@ -179,33 +174,20 @@
class FakeWebRtcVideoEncoderFactory : public WebRtcVideoEncoderFactory {
public:
FakeWebRtcVideoEncoderFactory()
- : created_video_encoder_event_(false, false),
- num_created_encoders_(0),
- encoders_have_internal_sources_(false) {}
+ : num_created_encoders_(0), encoders_have_internal_sources_(false) {}
virtual webrtc::VideoEncoder* CreateVideoEncoder(
webrtc::VideoCodecType type) {
- rtc::CritScope lock(&crit_);
if (supported_codec_types_.count(type) == 0) {
return NULL;
}
FakeWebRtcVideoEncoder* encoder = new FakeWebRtcVideoEncoder();
encoders_.push_back(encoder);
num_created_encoders_++;
- created_video_encoder_event_.Set();
return encoder;
}
- bool WaitForCreatedVideoEncoders(int num_encoders) {
- while (created_video_encoder_event_.Wait(kEventTimeoutMs)) {
- if (GetNumCreatedEncoders() >= num_encoders)
- return true;
- }
- return false;
- }
-
virtual void DestroyVideoEncoder(webrtc::VideoEncoder* encoder) {
- rtc::CritScope lock(&crit_);
encoders_.erase(
std::remove(encoders_.begin(), encoders_.end(), encoder),
encoders_.end());
@@ -234,22 +216,18 @@
}
int GetNumCreatedEncoders() {
- rtc::CritScope lock(&crit_);
return num_created_encoders_;
}
- const std::vector<FakeWebRtcVideoEncoder*> encoders() {
- rtc::CritScope lock(&crit_);
+ const std::vector<FakeWebRtcVideoEncoder*>& encoders() {
return encoders_;
}
private:
- rtc::CriticalSection crit_;
- rtc::Event created_video_encoder_event_;
std::set<webrtc::VideoCodecType> supported_codec_types_;
std::vector<WebRtcVideoEncoderFactory::VideoCodec> codecs_;
- std::vector<FakeWebRtcVideoEncoder*> encoders_ GUARDED_BY(crit_);
- int num_created_encoders_ GUARDED_BY(crit_);
+ std::vector<FakeWebRtcVideoEncoder*> encoders_;
+ int num_created_encoders_;
bool encoders_have_internal_sources_;
};
« no previous file with comments | « no previous file | webrtc/media/engine/webrtcvideoengine2_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine