Chromium Code Reviews| Index: content/browser/renderer_host/media/video_capture_controller.cc |
| diff --git a/content/browser/renderer_host/media/video_capture_controller.cc b/content/browser/renderer_host/media/video_capture_controller.cc |
| index 07c9ca141088b9f7d9ad7fd968277409b5767a59..ab90665a35860dfa4e441cf2cbc643a09effe45c 100644 |
| --- a/content/browser/renderer_host/media/video_capture_controller.cc |
| +++ b/content/browser/renderer_host/media/video_capture_controller.cc |
| @@ -90,6 +90,49 @@ void ReturnVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame, |
| video_frame->UpdateReleaseSyncPoint(&client); |
| } |
| +// Get the correct UMA int label for the pixel format. |
| +static int GetUmaLabel(media::VideoPixelFormat format) { |
|
mcasas
2014/10/19 13:13:14
const media::VideoPixelFormat format ?
magjed_chromium
2014/10/19 13:30:16
I haven't seen anyone else make a const non-ref, I
mcasas
2014/10/20 09:06:19
Ah, true, VPF is an enum. That's the evil with typ
|
| + // This enum must be in sync with CapturePixelFormat defined in |
| + // histograms.xml. |
| + enum UmaPixelFormat { |
| + UNKNOWN, |
| + I420, |
| + YUY2, |
| + UYVY, |
| + RGB24, |
| + ARGB, |
| + MJPEG, |
| + NV21, |
| + YV12, |
| + TEXTURE |
| + }; |
| + switch (format) { |
|
mcasas
2014/10/20 09:06:19
Paraphrasing tommi@, I'd like to see this data dri
|
| + case media::PIXEL_FORMAT_I420: |
| + return I420; |
| + case media::PIXEL_FORMAT_YV12: |
| + return YV12; |
| + case media::PIXEL_FORMAT_NV21: |
| + return NV21; |
| + case media::PIXEL_FORMAT_UYVY: |
| + return UYVY; |
| + case media::PIXEL_FORMAT_YUY2: |
| + return YUY2; |
| + case media::PIXEL_FORMAT_RGB24: |
| + return RGB24; |
| + case media::PIXEL_FORMAT_ARGB: |
| + return ARGB; |
| + case media::PIXEL_FORMAT_MJPEG: |
| + return MJPEG; |
| + case media::PIXEL_FORMAT_TEXTURE: |
| + return TEXTURE; |
| + case media::PIXEL_FORMAT_UNKNOWN: |
| + return UNKNOWN; |
| + default: |
| + NOTIMPLEMENTED(); |
| + return 0; |
| + }; |
| +} |
| + |
| } // anonymous namespace |
| struct VideoCaptureController::ControllerClient { |
| @@ -637,7 +680,7 @@ void VideoCaptureController::DoIncomingCapturedVideoFrameOnIOThread( |
| UMA_HISTOGRAM_COUNTS("Media.VideoCapture.FrameRate", |
| buffer_format.frame_rate); |
| UMA_HISTOGRAM_ENUMERATION("Media.VideoCapture.PixelFormat", |
| - buffer_format.pixel_format, |
| + GetUmaLabel(buffer_format.pixel_format), |
| media::PIXEL_FORMAT_MAX); |
| has_received_frames_ = true; |
| } |