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

Side by Side Diff: media/base/media_log.cc

Issue 7587007: Log FilterHost events in PipelineImpl to MediaLog. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Removing events called too often. 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « media/base/media_log.h ('k') | media/base/media_log_event.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/media_log.h" 5 #include "media/base/media_log.h"
6 6
7 #include "base/atomic_sequence_num.h" 7 #include "base/atomic_sequence_num.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/scoped_ptr.h" 9 #include "base/scoped_ptr.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 17 matching lines...) Expand all
28 case MediaLogEvent::LOAD: 28 case MediaLogEvent::LOAD:
29 return "LOAD"; 29 return "LOAD";
30 case MediaLogEvent::SEEK: 30 case MediaLogEvent::SEEK:
31 return "SEEK"; 31 return "SEEK";
32 case MediaLogEvent::PLAY: 32 case MediaLogEvent::PLAY:
33 return "PLAY"; 33 return "PLAY";
34 case MediaLogEvent::PAUSE: 34 case MediaLogEvent::PAUSE:
35 return "PAUSE"; 35 return "PAUSE";
36 case MediaLogEvent::PIPELINE_STATE_CHANGED: 36 case MediaLogEvent::PIPELINE_STATE_CHANGED:
37 return "PIPELINE_STATE_CHANGED"; 37 return "PIPELINE_STATE_CHANGED";
38 case MediaLogEvent::PIPELINE_ERROR:
39 return "PIPELINE_ERROR";
40 case MediaLogEvent::VIDEO_SIZE_SET:
41 return "VIDEO_SIZE_SET";
42 case MediaLogEvent::DURATION_SET:
43 return "DURATION_SET";
44 case MediaLogEvent::TOTAL_BYTES_SET:
45 return "TOTAL_BYTES_SET";
46 case MediaLogEvent::STREAMING_SET:
47 return "STREAMING_SET";
48 case MediaLogEvent::LOADED_SET:
49 return "LOADED_SET";
50 case MediaLogEvent::NETWORK_ACTIVITY_SET:
51 return "NETWORK_ACTIVITY_SET";
52 case MediaLogEvent::ENDED:
53 return "ENDED";
54 case MediaLogEvent::AUDIO_RENDERER_DISABLED:
55 return "AUDIO_RENDERER_DISABLED";
38 case MediaLogEvent::BUFFERED_EXTENTS_CHANGED: 56 case MediaLogEvent::BUFFERED_EXTENTS_CHANGED:
39 return "BUFFERED_EXTENTS_CHANGED"; 57 return "BUFFERED_EXTENTS_CHANGED";
40 } 58 }
41 NOTREACHED(); 59 NOTREACHED();
42 return NULL; 60 return NULL;
43 } 61 }
44 62
45 const char* MediaLog::PipelineStateToString(PipelineImpl::State state) { 63 const char* MediaLog::PipelineStateToString(PipelineImpl::State state) {
46 switch (state) { 64 switch (state) {
47 case PipelineImpl::kCreated: 65 case PipelineImpl::kCreated:
(...skipping 24 matching lines...) Expand all
72 return "stopping"; 90 return "stopping";
73 case PipelineImpl::kStopped: 91 case PipelineImpl::kStopped:
74 return "stopped"; 92 return "stopped";
75 case PipelineImpl::kError: 93 case PipelineImpl::kError:
76 return "error"; 94 return "error";
77 } 95 }
78 NOTREACHED(); 96 NOTREACHED();
79 return NULL; 97 return NULL;
80 } 98 }
81 99
100 const char* MediaLog::PipelineStatusToString(PipelineStatus status) {
101 switch (status) {
102 case PIPELINE_OK:
103 return "pipeline: ok";
104 case PIPELINE_ERROR_URL_NOT_FOUND:
105 return "pipeline: url not found";
106 case PIPELINE_ERROR_NETWORK:
107 return "pipeline: network error";
108 case PIPELINE_ERROR_DECODE:
109 return "pipeline: decode error";
110 case PIPELINE_ERROR_ABORT:
111 return "pipeline: abort";
112 case PIPELINE_ERROR_INITIALIZATION_FAILED:
113 return "pipeline: initialization failed";
114 case PIPELINE_ERROR_REQUIRED_FILTER_MISSING:
115 return "pipeline: required filter missing";
116 case PIPELINE_ERROR_OUT_OF_MEMORY:
117 return "pipeline: out of memory";
118 case PIPELINE_ERROR_COULD_NOT_RENDER:
119 return "pipeline: could not render";
120 case PIPELINE_ERROR_READ:
121 return "pipeline: read error";
122 case PIPELINE_ERROR_AUDIO_HARDWARE:
123 return "pipeline: audio hardware error";
124 case PIPELINE_ERROR_OPERATION_PENDING:
125 return "pipeline: operation pending";
126 case PIPELINE_ERROR_INVALID_STATE:
127 return "pipeline: invalid state";
128 case DEMUXER_ERROR_COULD_NOT_OPEN:
129 return "demuxer: could not open";
130 case DEMUXER_ERROR_COULD_NOT_PARSE:
131 return "dumuxer: could not parse";
132 case DEMUXER_ERROR_NO_SUPPORTED_STREAMS:
133 return "demuxer: no supported streams";
134 case DEMUXER_ERROR_COULD_NOT_CREATE_THREAD:
135 return "demuxer: could not create thread";
136 case DATASOURCE_ERROR_URL_NOT_SUPPORTED:
137 return "data source: url not supported";
138 }
139 NOTREACHED();
140 return NULL;
141 }
142
82 MediaLog::MediaLog() { 143 MediaLog::MediaLog() {
83 id_ = media_log_count.GetNext(); 144 id_ = media_log_count.GetNext();
84 } 145 }
85 146
86 MediaLog::~MediaLog() {} 147 MediaLog::~MediaLog() {}
87 148
88 void MediaLog::AddEvent(MediaLogEvent* event) { 149 void MediaLog::AddEvent(MediaLogEvent* event) {
89 scoped_ptr<MediaLogEvent> e(event); 150 scoped_ptr<MediaLogEvent> e(event);
90 } 151 }
91 152
92 MediaLogEvent* MediaLog::CreateEvent(MediaLogEvent::Type type) { 153 MediaLogEvent* MediaLog::CreateEvent(MediaLogEvent::Type type) {
93 scoped_ptr<MediaLogEvent> event(new MediaLogEvent); 154 scoped_ptr<MediaLogEvent> event(new MediaLogEvent);
94 event->id = id_; 155 event->id = id_;
95 event->type = type; 156 event->type = type;
96 event->time = base::Time::Now(); 157 event->time = base::Time::Now();
97 return event.release(); 158 return event.release();
98 } 159 }
99 160
161 MediaLogEvent* MediaLog::CreateBooleanEvent(MediaLogEvent::Type type,
162 const char* property, bool value) {
163 scoped_ptr<MediaLogEvent> event(CreateEvent(type));
164 event->params.SetBoolean(property, value);
165 return event.release();
166 }
167
168 MediaLogEvent* MediaLog::CreateIntegerEvent(MediaLogEvent::Type type,
169 const char* property, int64 value) {
170 scoped_ptr<MediaLogEvent> event(CreateEvent(type));
171 event->params.SetInteger(property, value);
172 return event.release();
173 }
174
175 MediaLogEvent* MediaLog::CreateTimeEvent(MediaLogEvent::Type type,
176 const char* property,
177 base::TimeDelta value) {
178 scoped_ptr<MediaLogEvent> event(CreateEvent(type));
179 event->params.SetDouble(property, value.InSecondsF());
180 return event.release();
181 }
182
100 MediaLogEvent* MediaLog::CreateLoadEvent(const std::string& url) { 183 MediaLogEvent* MediaLog::CreateLoadEvent(const std::string& url) {
101 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::LOAD)); 184 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::LOAD));
102 event->params.SetString("url", url); 185 event->params.SetString("url", url);
103 return event.release(); 186 return event.release();
104 } 187 }
105 188
106 MediaLogEvent* MediaLog::CreateSeekEvent(float seconds) { 189 MediaLogEvent* MediaLog::CreateSeekEvent(float seconds) {
107 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::SEEK)); 190 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::SEEK));
108 event->params.SetDouble("seek_target", seconds); 191 event->params.SetDouble("seek_target", seconds);
109 return event.release(); 192 return event.release();
110 } 193 }
111 194
112 MediaLogEvent* MediaLog::CreatePipelineStateChangedEvent( 195 MediaLogEvent* MediaLog::CreatePipelineStateChangedEvent(
113 PipelineImpl::State state) { 196 PipelineImpl::State state) {
114 scoped_ptr<MediaLogEvent> event( 197 scoped_ptr<MediaLogEvent> event(
115 CreateEvent(MediaLogEvent::PIPELINE_STATE_CHANGED)); 198 CreateEvent(MediaLogEvent::PIPELINE_STATE_CHANGED));
116 event->params.SetString("pipeline_state", PipelineStateToString(state)); 199 event->params.SetString("pipeline_state", PipelineStateToString(state));
117 return event.release(); 200 return event.release();
118 } 201 }
119 202
203 MediaLogEvent* MediaLog::CreatePipelineErrorEvent(PipelineStatus error) {
204 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::PIPELINE_ERROR));
205 event->params.SetString("pipeline_error", PipelineStatusToString(error));
206 return event.release();
207 }
208
209 MediaLogEvent* MediaLog::CreateVideoSizeSetEvent(size_t width, size_t height) {
210 scoped_ptr<MediaLogEvent> event(CreateEvent(MediaLogEvent::VIDEO_SIZE_SET));
211 event->params.SetInteger("width", width);
212 event->params.SetInteger("height", height);
213 return event.release();
214 }
215
120 MediaLogEvent* MediaLog::CreateBufferedExtentsChangedEvent( 216 MediaLogEvent* MediaLog::CreateBufferedExtentsChangedEvent(
121 size_t start, size_t current, size_t end) { 217 size_t start, size_t current, size_t end) {
122 scoped_ptr<MediaLogEvent> event( 218 scoped_ptr<MediaLogEvent> event(
123 CreateEvent(MediaLogEvent::BUFFERED_EXTENTS_CHANGED)); 219 CreateEvent(MediaLogEvent::BUFFERED_EXTENTS_CHANGED));
124 event->params.SetInteger("buffer_start", start); 220 event->params.SetInteger("buffer_start", start);
125 event->params.SetInteger("buffer_current", current); 221 event->params.SetInteger("buffer_current", current);
126 event->params.SetInteger("buffer_end", end); 222 event->params.SetInteger("buffer_end", end);
127 return event.release(); 223 return event.release();
128 } 224 }
129 225
130 } //namespace media 226 } //namespace media
OLDNEW
« no previous file with comments | « media/base/media_log.h ('k') | media/base/media_log_event.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698