Split EventWrapper in twain.

I'm splitting the timer functions in EventWrapper into a separate interface.
- Users of the timer functions have different needs than users of a generic event
- Providing a default implementation for EventWrapper that simply uses rtc::Event.

This means that clients of WebRTC that don't use the relatively few classes, typically rendering classes, that depend on the event timer functionality, also don't pull in dependencies on multimedia timers.

R=mflodman@webrtc.org, mflodman
BUG=

Review URL: https://webrtc-codereview.appspot.com/48599004

Cr-Commit-Position: refs/heads/master@{#8833}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8833 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
tommi@webrtc.org
2015-03-23 16:25:09 +00:00
parent 82e8ae4ee8
commit 9509fbfc30
25 changed files with 119 additions and 94 deletions

View File

@ -31,16 +31,13 @@
class Trace;
namespace webrtc {
class EventWrapper;
class EventTimerWrapper;
class ThreadWrapper;
class VideoRenderNSOpenGL;
class CriticalSectionWrapper;
class VideoChannelNSOpenGL : public VideoRenderCallback
{
class VideoChannelNSOpenGL : public VideoRenderCallback {
public:
VideoChannelNSOpenGL(NSOpenGLContext *nsglContext, int iId, VideoRenderNSOpenGL* owner);
virtual ~VideoChannelNSOpenGL();
@ -170,7 +167,7 @@ private: // variables
int _id;
CriticalSectionWrapper& _nsglContextCritSec;
rtc::scoped_ptr<ThreadWrapper> _screenUpdateThread;
EventWrapper* _screenUpdateEvent;
EventTimerWrapper* _screenUpdateEvent;
NSOpenGLContext* _nsglContext;
NSOpenGLContext* _nsglFullScreenContext;
CocoaFullScreenWindow* _fullScreenWindow;