| Index: media/video/capture/win/video_capture_device_mf_win.cc | 
| diff --git a/media/video/capture/win/video_capture_device_mf_win.cc b/media/video/capture/win/video_capture_device_mf_win.cc | 
| index 12694de11c01f757a9095c70e50a52364e4840aa..f9cfb0a187ce2112960e3e81b2c29b506ec0dffb 100644 | 
| --- a/media/video/capture/win/video_capture_device_mf_win.cc | 
| +++ b/media/video/capture/win/video_capture_device_mf_win.cc | 
| @@ -94,12 +94,11 @@ bool FormatFromGuid(const GUID& guid, VideoPixelFormat* format) { | 
| return false; | 
| } | 
|  | 
| -bool GetFrameSize(IMFMediaType* type, int* width, int* height) { | 
| +bool GetFrameSize(IMFMediaType* type, gfx::Size* frame_size) { | 
| UINT32 width32, height32; | 
| if (FAILED(MFGetAttributeSize(type, MF_MT_FRAME_SIZE, &width32, &height32))) | 
| return false; | 
| -  *width = width32; | 
| -  *height = height32; | 
| +  frame_size->SetSize(width32, height32); | 
| return true; | 
| } | 
|  | 
| @@ -121,15 +120,15 @@ bool FillCapabilitiesFromType(IMFMediaType* type, | 
| VideoCaptureCapabilityWin* capability) { | 
| GUID type_guid; | 
| if (FAILED(type->GetGUID(MF_MT_SUBTYPE, &type_guid)) || | 
| -      !FormatFromGuid(type_guid, &capability->color) || | 
| -      !GetFrameSize(type, &capability->width, &capability->height) || | 
| +      !GetFrameSize(type, &capability->supported_format.frame_size) || | 
| !GetFrameRate(type, | 
| &capability->frame_rate_numerator, | 
| -                    &capability->frame_rate_denominator)) { | 
| +                    &capability->frame_rate_denominator) || | 
| +      !FormatFromGuid(type_guid, &capability->supported_format.pixel_format)) { | 
| return false; | 
| } | 
| // Keep the integer version of the frame_rate for (potential) returns. | 
| -  capability->frame_rate = | 
| +  capability->supported_format.frame_rate = | 
| capability->frame_rate_numerator / capability->frame_rate_denominator; | 
|  | 
| return true; | 
| @@ -337,7 +336,7 @@ bool VideoCaptureDeviceMFWin::Init() { | 
| } | 
|  | 
| void VideoCaptureDeviceMFWin::AllocateAndStart( | 
| -    const VideoCaptureCapability& capture_format, | 
| +    const VideoCaptureParams& params, | 
| scoped_ptr<VideoCaptureDevice::Client> client) { | 
| DCHECK(CalledOnValidThread()); | 
|  | 
| @@ -354,13 +353,10 @@ void VideoCaptureDeviceMFWin::AllocateAndStart( | 
| } | 
|  | 
| VideoCaptureCapabilityWin found_capability = | 
| -      capabilities.GetBestMatchedCapability(capture_format.width, | 
| -                                            capture_format.height, | 
| -                                            capture_format.frame_rate); | 
| -  DLOG(INFO) << "Chosen capture format= (" << found_capability.width << "x" | 
| -             << found_capability.height << ")@(" | 
| -             << found_capability.frame_rate_numerator << "/" | 
| -             << found_capability.frame_rate_denominator << ")fps"; | 
| +      capabilities.GetBestMatchedFormat( | 
| +          params.requested_format.frame_size.width(), | 
| +          params.requested_format.frame_size.height(), | 
| +          params.requested_format.frame_rate); | 
|  | 
| ScopedComPtr<IMFMediaType> type; | 
| if (FAILED(hr = reader_->GetNativeMediaType( | 
| @@ -377,7 +373,7 @@ void VideoCaptureDeviceMFWin::AllocateAndStart( | 
| OnError(hr); | 
| return; | 
| } | 
| -  current_setting_ = found_capability; | 
| +  capture_format_ = found_capability.supported_format; | 
| capture_ = true; | 
| } | 
|  | 
| @@ -424,7 +420,7 @@ void VideoCaptureDeviceMFWin::OnIncomingCapturedFrame( | 
| rotation, | 
| flip_vert, | 
| flip_horiz, | 
| -                                     current_setting_); | 
| +                                     capture_format_); | 
|  | 
| if (capture_) { | 
| HRESULT hr = reader_->ReadSample(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 0, | 
|  |