OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "content/browser/media/media_internals.h" | 5 #include "content/browser/media/media_internals.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/strings/string16.h" | 8 #include "base/strings/string16.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 break; | 291 break; |
292 } | 292 } |
293 return; | 293 return; |
294 } | 294 } |
295 | 295 |
296 void MediaInternals::MediaInternalsUMAHandler::ReportUMAForPipelineStatus( | 296 void MediaInternals::MediaInternalsUMAHandler::ReportUMAForPipelineStatus( |
297 const PipelineInfo& player_info) { | 297 const PipelineInfo& player_info) { |
298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 298 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
299 if (player_info.has_video && player_info.has_audio) { | 299 if (player_info.has_video && player_info.has_audio) { |
300 if (player_info.video_codec_name == "vp8") { | 300 if (player_info.video_codec_name == "vp8") { |
301 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.VP8", | 301 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.VP8.SW", |
302 player_info.last_pipeline_status, | 302 player_info.last_pipeline_status, |
303 media::PIPELINE_STATUS_MAX + 1); | 303 media::PIPELINE_STATUS_MAX + 1); |
304 } else if (player_info.video_codec_name == "vp9") { | 304 } else if (player_info.video_codec_name == "vp9") { |
305 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.VP9", | 305 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.VP9.SW", |
306 player_info.last_pipeline_status, | 306 player_info.last_pipeline_status, |
307 media::PIPELINE_STATUS_MAX + 1); | 307 media::PIPELINE_STATUS_MAX + 1); |
308 } else if (player_info.video_codec_name == "h264") { | 308 } else if (player_info.video_codec_name == "h264") { |
309 if (player_info.video_decoder == media::GpuVideoDecoder::kDecoderName) { | 309 if (player_info.video_decoder == media::GpuVideoDecoder::kDecoderName) { |
310 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.HW.H264", | 310 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.H264.HW", |
311 player_info.last_pipeline_status, | 311 player_info.last_pipeline_status, |
312 media::PIPELINE_STATUS_MAX + 1); | 312 media::PIPELINE_STATUS_MAX + 1); |
313 } else { | 313 } else { |
314 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.SW.H264", | 314 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.H264.SW", |
315 player_info.last_pipeline_status, | 315 player_info.last_pipeline_status, |
316 media::PIPELINE_STATUS_MAX + 1); | 316 media::PIPELINE_STATUS_MAX + 1); |
317 } | 317 } |
318 } else { | 318 } else { |
319 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo", | 319 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioVideo.Other", |
320 player_info.last_pipeline_status, | 320 player_info.last_pipeline_status, |
321 media::PIPELINE_STATUS_MAX + 1); | 321 media::PIPELINE_STATUS_MAX + 1); |
322 } | 322 } |
323 } else if (player_info.has_audio) { | 323 } else if (player_info.has_audio) { |
324 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.Audio", | 324 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.AudioOnly", |
325 player_info.last_pipeline_status, | 325 player_info.last_pipeline_status, |
326 media::PIPELINE_STATUS_MAX + 1); | 326 media::PIPELINE_STATUS_MAX + 1); |
327 } else if (player_info.has_video) { | 327 } else if (player_info.has_video) { |
328 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.Video", | 328 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.VideoOnly", |
329 player_info.last_pipeline_status, | 329 player_info.last_pipeline_status, |
330 media::PIPELINE_STATUS_MAX + 1); | 330 media::PIPELINE_STATUS_MAX + 1); |
331 } else { | 331 } else { |
332 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.Unsupported", | 332 UMA_HISTOGRAM_ENUMERATION("Media.PipelineStatus.Unsupported", |
333 player_info.last_pipeline_status, | 333 player_info.last_pipeline_status, |
334 media::PIPELINE_STATUS_MAX + 1); | 334 media::PIPELINE_STATUS_MAX + 1); |
335 } | 335 } |
336 } | 336 } |
337 | 337 |
338 void MediaInternals::MediaInternalsUMAHandler::LogAndClearPlayersInRenderer( | 338 void MediaInternals::MediaInternalsUMAHandler::LogAndClearPlayersInRenderer( |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
492 const std::string& function, | 492 const std::string& function, |
493 const base::DictionaryValue* value) { | 493 const base::DictionaryValue* value) { |
494 SendUpdate(SerializeUpdate(function, value)); | 494 SendUpdate(SerializeUpdate(function, value)); |
495 | 495 |
496 base::AutoLock auto_lock(lock_); | 496 base::AutoLock auto_lock(lock_); |
497 scoped_ptr<base::Value> out_value; | 497 scoped_ptr<base::Value> out_value; |
498 CHECK(audio_streams_cached_data_.Remove(cache_key, &out_value)); | 498 CHECK(audio_streams_cached_data_.Remove(cache_key, &out_value)); |
499 } | 499 } |
500 | 500 |
501 } // namespace content | 501 } // namespace content |
OLD | NEW |