diff options
author | changbin.shao@intel.com <changbin.shao@intel.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-04 14:06:59 +0000 |
---|---|---|
committer | changbin.shao@intel.com <changbin.shao@intel.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-04 14:06:59 +0000 |
commit | 0e7ee58b0ffa0e94e0bfe421b39376922f15b14f (patch) | |
tree | e8ef643823be570bb3fbbec387ff20e0d4ae184d /content/renderer/media/render_media_log.h | |
parent | 12397ca6cf1c2bf26d98462c1ff906399fbee822 (diff) | |
download | chromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.zip chromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.tar.gz chromium_src-0e7ee58b0ffa0e94e0bfe421b39376922f15b14f.tar.bz2 |
Limit the rate to send media log events over IPC.
Some media events e.g. BufferedExtentsChanged update quite often, this causes heavy IPC traffic for CPU. In the meantime, chrome://media-internals doesn't need to update data in such a high frequency. Use array to send these events every 1 second.
BUG=235096
Review URL: https://chromiumcodereview.appspot.com/14146018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@198314 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer/media/render_media_log.h')
-rw-r--r-- | content/renderer/media/render_media_log.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/content/renderer/media/render_media_log.h b/content/renderer/media/render_media_log.h index 4c26cdf..70070b3 100644 --- a/content/renderer/media/render_media_log.h +++ b/content/renderer/media/render_media_log.h @@ -5,6 +5,8 @@ #ifndef CONTENT_RENDERER_MEDIA_RENDER_MEDIA_LOG_H_ #define CONTENT_RENDERER_MEDIA_RENDER_MEDIA_LOG_H_ +#include <vector> +#include "base/time.h" #include "media/base/media_log.h" namespace base { @@ -14,7 +16,7 @@ class MessageLoopProxy; namespace content { // RenderMediaLog is an implementation of MediaLog that passes all events to the -// browser process. +// browser process, throttling as necessary. class RenderMediaLog : public media::MediaLog { public: RenderMediaLog(); @@ -26,6 +28,8 @@ class RenderMediaLog : public media::MediaLog { virtual ~RenderMediaLog(); scoped_refptr<base::MessageLoopProxy> render_loop_; + base::Time last_ipc_send_time_; + std::vector<media::MediaLogEvent> queued_media_events_; DISALLOW_COPY_AND_ASSIGN(RenderMediaLog); }; |