Index: webrtc/test/frame_generator.cc |
diff --git a/webrtc/test/frame_generator.cc b/webrtc/test/frame_generator.cc |
index 27935e4b26be0a1575547012e6955e3c1d52fe11..327327343db560ce95fc7f468a3e3fdfe81ef62a 100644 |
--- a/webrtc/test/frame_generator.cc |
+++ b/webrtc/test/frame_generator.cc |
@@ -26,8 +26,14 @@ namespace { |
class ChromaGenerator : public FrameGenerator { |
public: |
- ChromaGenerator(size_t width, size_t height) |
- : angle_(0.0), width_(width), height_(height) { |
+ ChromaGenerator(size_t width, size_t height) : angle_(0.0) { |
+ ChangeResolution(width, height); |
+ } |
+ |
+ void ChangeResolution(size_t width, size_t height) override { |
+ rtc::CritScope lock(&crit_); |
+ width_ = width; |
+ height_ = height; |
RTC_CHECK(width_ > 0); |
RTC_CHECK(height_ > 0); |
half_width_ = (width_ + 1) / 2; |
@@ -36,6 +42,7 @@ class ChromaGenerator : public FrameGenerator { |
} |
VideoFrame* NextFrame() override { |
+ rtc::CritScope lock(&crit_); |
angle_ += 30.0; |
uint8_t u = fabs(sin(angle_)) * 0xFF; |
uint8_t v = fabs(cos(angle_)) * 0xFF; |
@@ -55,6 +62,7 @@ class ChromaGenerator : public FrameGenerator { |
} |
private: |
+ rtc::CriticalSection crit_; |
double angle_; |
size_t width_; |
mflodman
2016/09/27 11:28:01
Can you add GUARDED_BY(...) here.
perkj_webrtc
2016/09/27 13:45:17
Done.
|
size_t height_; |