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

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: 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 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);

Powered by Google App Engine
This is Rietveld 408576698