| Index: media/base/media_log.cc
|
| diff --git a/media/base/media_log.cc b/media/base/media_log.cc
|
| index 38be1269b1b81bb83da062348afd9b149d0f1d80..15bca418cec6939953eebb2de2253c80ee1a877a 100644
|
| --- a/media/base/media_log.cc
|
| +++ b/media/base/media_log.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/atomic_sequence_num.h"
|
| #include "base/logging.h"
|
| #include "base/scoped_ptr.h"
|
| +#include "base/values.h"
|
|
|
| namespace media {
|
|
|
| @@ -16,16 +17,24 @@ static base::AtomicSequenceNumber media_log_count(base::LINKER_INITIALIZED);
|
|
|
| const char* MediaLog::EventTypeToString(MediaLogEvent::Type type) {
|
| switch (type) {
|
| - case MediaLogEvent::CREATING:
|
| - return "CREATING";
|
| - case MediaLogEvent::DESTROYING:
|
| - return "DESTROYING";
|
| + case MediaLogEvent::WEBMEDIAPLAYER_CREATED:
|
| + return "WEBMEDIAPLAYER_CREATED";
|
| + case MediaLogEvent::WEBMEDIAPLAYER_DESTROYED:
|
| + return "WEBMEDIAPLAYER_DESTROYED";
|
| + case MediaLogEvent::PIPELINE_CREATED:
|
| + return "PIPELINE_CREATED";
|
| + case MediaLogEvent::PIPELINE_DESTROYED:
|
| + return "PIPELINE_DESTROYED";
|
| case MediaLogEvent::LOAD:
|
| return "LOAD";
|
| + case MediaLogEvent::SEEK:
|
| + return "SEEK";
|
| case MediaLogEvent::PLAY:
|
| return "PLAY";
|
| case MediaLogEvent::PAUSE:
|
| return "PAUSE";
|
| + case MediaLogEvent::PIPELINE_STATE_CHANGED:
|
| + return "PIPELINE_STATE_CHANGED";
|
| case MediaLogEvent::BUFFERED_EXTENTS_CHANGED:
|
| return "BUFFERED_EXTENTS_CHANGED";
|
| }
|
| @@ -33,6 +42,43 @@ const char* MediaLog::EventTypeToString(MediaLogEvent::Type type) {
|
| return NULL;
|
| }
|
|
|
| +const char* MediaLog::PipelineStateToString(PipelineImpl::State state) {
|
| + switch (state) {
|
| + case PipelineImpl::kCreated:
|
| + return "created";
|
| + case PipelineImpl::kInitDemuxer:
|
| + return "initDemuxer";
|
| + case PipelineImpl::kInitAudioDecoder:
|
| + return "initAudioDecoder";
|
| + case PipelineImpl::kInitAudioRenderer:
|
| + return "initAudioRenderer";
|
| + case PipelineImpl::kInitVideoDecoder:
|
| + return "initVideoDecoder";
|
| + case PipelineImpl::kInitVideoRenderer:
|
| + return "initVideoRenderer";
|
| + case PipelineImpl::kPausing:
|
| + return "pausing";
|
| + case PipelineImpl::kSeeking:
|
| + return "seeking";
|
| + case PipelineImpl::kFlushing:
|
| + return "flushing";
|
| + case PipelineImpl::kStarting:
|
| + return "starting";
|
| + case PipelineImpl::kStarted:
|
| + return "started";
|
| + case PipelineImpl::kEnded:
|
| + return "ended";
|
| + case PipelineImpl::kStopping:
|
| + return "stopping";
|
| + case PipelineImpl::kStopped:
|
| + return "stopped";
|
| + case PipelineImpl::kError:
|
| + return "error";
|
| + }
|
| + NOTREACHED();
|
| + return NULL;
|
| +}
|
| +
|
| MediaLog::MediaLog() {
|
| id_ = media_log_count.GetNext();
|
| }
|
| @@ -57,6 +103,20 @@ MediaLogEvent* MediaLog::CreateLoadEvent(const std::string& url) {
|
| return event.release();
|
| }
|
|
|
| +MediaLogEvent* MediaLog::CreateSeekEvent(float seconds) {
|
| + scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::SEEK));
|
| + event->params.SetDouble("seek_target", seconds);
|
| + return event.release();
|
| +}
|
| +
|
| +MediaLogEvent* MediaLog::CreatePipelineStateChangedEvent(
|
| + PipelineImpl::State state) {
|
| + scoped_ptr<MediaLogEvent> event(
|
| + CreateEvent(MediaLogEvent::PIPELINE_STATE_CHANGED));
|
| + event->params.SetString("pipeline_state", PipelineStateToString(state));
|
| + return event.release();
|
| +}
|
| +
|
| MediaLogEvent* MediaLog::CreateBufferedExtentsChangedEvent(
|
| size_t start, size_t current, size_t end) {
|
| scoped_ptr<MediaLogEvent> event(
|
|
|