Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(823)

Unified Diff: media/base/media_log.cc

Issue 7584013: Log PipelineImpl events to MediaLog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase atop _and_diff_against_ 759001. Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698