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( |