Index: media/base/media_log.cc |
diff --git a/media/base/media_log.cc b/media/base/media_log.cc |
index 6bcbcd710bda8cbe9c8a44edd41ee030e116ebdc..ea5ba003e67b5bb038cc76343eddc3bfd5e047f6 100644 |
--- a/media/base/media_log.cc |
+++ b/media/base/media_log.cc |
@@ -6,6 +6,7 @@ |
#include "base/atomic_sequence_num.h" |
#include "base/logging.h" |
+#include "base/values.h" |
namespace media { |
@@ -15,16 +16,61 @@ 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"; |
+ } |
+ NOTREACHED(); |
+ 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; |
@@ -42,6 +88,18 @@ void MediaLog::Load(const std::string& url) { |
AddEvent(event); |
} |
+void MediaLog::Seek(float seconds) { |
+ MediaLogEvent* event = CreateEvent(MediaLogEvent::SEEK); |
+ event->params.SetDouble("seek_target", seconds); |
+ AddEvent(event); |
+} |
+ |
+void MediaLog::SetPipelineState(PipelineImpl::State state) { |
+ MediaLogEvent* event = CreateEvent(MediaLogEvent::PIPELINE_STATE_CHANGED); |
+ event->params.SetString("pipeline_state", PipelineStateToString(state)); |
+ AddEvent(event); |
+} |
+ |
void MediaLog::AddEventOfType(MediaLogEvent::Type type) { |
MediaLogEvent* event = CreateEvent(type); |
AddEvent(event); |