| Index: content/renderer/media/render_media_log.h
|
| diff --git a/content/renderer/media/render_media_log.h b/content/renderer/media/render_media_log.h
|
| index a67927d1228d3574449a9035750a164089ded399..80316e60bcd77740d0ac0b67f0d80bedac360954 100644
|
| --- a/content/renderer/media/render_media_log.h
|
| +++ b/content/renderer/media/render_media_log.h
|
| @@ -8,6 +8,7 @@
|
| #include <vector>
|
|
|
| #include "base/macros.h"
|
| +#include "base/synchronization/lock.h"
|
| #include "base/time/time.h"
|
| #include "content/common/content_export.h"
|
| #include "media/base/media_log.h"
|
| @@ -40,17 +41,25 @@ class CONTENT_EXPORT RenderMediaLog : public media::MediaLog {
|
| private:
|
| ~RenderMediaLog() override;
|
|
|
| - // Add event on the |task_runner_|.
|
| - void AddEventInternal(scoped_ptr<media::MediaLogEvent> event);
|
| -
|
| - // Posted as a delayed task to throttle ipc message frequency.
|
| + // Posted as a delayed task on |task_runner_| to throttle ipc message
|
| + // frequency.
|
| void SendQueuedMediaEvents();
|
|
|
| scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| +
|
| + // |lock_| serializes access to |tick_clock_|, |last_ipc_send_time_|,
|
| + // |queued_media_events_|, |ipc_send_pending_| and
|
| + // |last_buffered_extents_changed_event_|. It allows any render process thread
|
| + // to AddEvent(), while preserving their sequence for throttled send on
|
| + // |task_runner_|.
|
| + mutable base::Lock lock_;
|
| scoped_ptr<base::TickClock> tick_clock_;
|
| base::TimeTicks last_ipc_send_time_;
|
| std::vector<media::MediaLogEvent> queued_media_events_;
|
|
|
| + // For enforcing max 1 pending send.
|
| + bool ipc_send_pending_;
|
| +
|
| // Limits the number buffered extents changed events we send over IPC to one.
|
| scoped_ptr<media::MediaLogEvent> last_buffered_extents_changed_event_;
|
|
|
|
|