Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Unified Diff: webrtc/test/frame_generator_capturer.h

Issue 2744003002: Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (Closed)
Patch Set: Fix race condition in FrameGeneratorCapturer and enable huge largeroom FullStack test on windows Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/call/call_perf_tests.cc ('k') | webrtc/test/frame_generator_capturer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/test/frame_generator_capturer.h
diff --git a/webrtc/test/frame_generator_capturer.h b/webrtc/test/frame_generator_capturer.h
index dfd12711d187988560178bc90082b1e4788d472f..75e48497bec35c65fa5a746e57e619c570c78b79 100644
--- a/webrtc/test/frame_generator_capturer.h
+++ b/webrtc/test/frame_generator_capturer.h
@@ -15,7 +15,7 @@
#include "webrtc/api/video/video_frame.h"
#include "webrtc/base/criticalsection.h"
-#include "webrtc/base/platform_thread.h"
+#include "webrtc/base/task_queue.h"
#include "webrtc/test/video_capturer.h"
#include "webrtc/typedefs.h"
@@ -74,6 +74,8 @@ class FrameGeneratorCapturer : public VideoCapturer {
bool Init();
private:
+ class InsertFrameTask;
+
void InsertFrame();
static bool Run(void* obj);
@@ -82,17 +84,18 @@ class FrameGeneratorCapturer : public VideoCapturer {
rtc::VideoSinkInterface<VideoFrame>* sink_ GUARDED_BY(&lock_);
SinkWantsObserver* sink_wants_observer_ GUARDED_BY(&lock_);
- std::unique_ptr<EventTimerWrapper> tick_;
rtc::CriticalSection lock_;
- rtc::PlatformThread thread_;
std::unique_ptr<FrameGenerator> frame_generator_;
int target_fps_;
VideoRotation fake_rotation_ = kVideoRotation_0;
int64_t first_frame_capture_time_;
+ // Must be the last field, so it will be deconstructed first as tasks
+ // in the TaskQueue access other fields of the instance of this class.
+ rtc::TaskQueue task_queue_;
};
-} // test
-} // webrtc
+} // namespace test
+} // namespace webrtc
#endif // WEBRTC_TEST_FRAME_GENERATOR_CAPTURER_H_
« no previous file with comments | « webrtc/call/call_perf_tests.cc ('k') | webrtc/test/frame_generator_capturer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698