summaryrefslogtreecommitdiffstats
path: root/media/base/media_log.cc
diff options
context:
space:
mode:
authorscottfr@chromium.org <scottfr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-09 22:47:24 +0000
committerscottfr@chromium.org <scottfr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-09 22:47:24 +0000
commitc93eb0a645fa854bd7d4337bc1bc17d2d28c5bc7 (patch)
tree7da349009a59bb4bc306c30f9a68ccb9d9d328b0 /media/base/media_log.cc
parent19c28bfec867442cc416fa5a3108418e01c714fb (diff)
downloadchromium_src-c93eb0a645fa854bd7d4337bc1bc17d2d28c5bc7.zip
chromium_src-c93eb0a645fa854bd7d4337bc1bc17d2d28c5bc7.tar.gz
chromium_src-c93eb0a645fa854bd7d4337bc1bc17d2d28c5bc7.tar.bz2
Log PipelineImpl events to MediaLog.
BUG= TEST= Review URL: http://codereview.chromium.org/7584013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96090 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/media_log.cc')
-rw-r--r--media/base/media_log.cc68
1 files changed, 64 insertions, 4 deletions
diff --git a/media/base/media_log.cc b/media/base/media_log.cc
index 38be126..15bca41 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(