Index: media/video/capture/win/sink_input_pin_win.cc |
diff --git a/media/video/capture/win/sink_input_pin_win.cc b/media/video/capture/win/sink_input_pin_win.cc |
index 8212e15fe9f04b1c4d681edd3c8f8fa0f534ccfe..a57e291d7c3d93926b85d2b76b024d1018439ced 100644 |
--- a/media/video/capture/win/sink_input_pin_win.cc |
+++ b/media/video/capture/win/sink_input_pin_win.cc |
@@ -69,8 +69,7 @@ bool SinkInputPin::GetValidMediaType(int index, AM_MEDIA_TYPE* media_type) { |
pvi->bmiHeader.biBitCount = 12; // bit per pixel |
pvi->bmiHeader.biWidth = requested_format_.frame_size.width(); |
pvi->bmiHeader.biHeight = requested_format_.frame_size.height(); |
- pvi->bmiHeader.biSizeImage = |
- requested_format_.frame_size.GetArea() * 3 / 2; |
+ pvi->bmiHeader.biSizeImage = requested_format_.ImageAllocationSize(); |
media_type->subtype = kMediaSubTypeI420; |
break; |
} |
@@ -79,7 +78,7 @@ bool SinkInputPin::GetValidMediaType(int index, AM_MEDIA_TYPE* media_type) { |
pvi->bmiHeader.biBitCount = 16; |
pvi->bmiHeader.biWidth = requested_format_.frame_size.width(); |
pvi->bmiHeader.biHeight = requested_format_.frame_size.height(); |
- pvi->bmiHeader.biSizeImage = requested_format_.frame_size.GetArea() * 2; |
+ pvi->bmiHeader.biSizeImage = requested_format_.ImageAllocationSize(); |
media_type->subtype = MEDIASUBTYPE_YUY2; |
break; |
} |
@@ -88,7 +87,7 @@ bool SinkInputPin::GetValidMediaType(int index, AM_MEDIA_TYPE* media_type) { |
pvi->bmiHeader.biBitCount = 24; |
pvi->bmiHeader.biWidth = requested_format_.frame_size.width(); |
pvi->bmiHeader.biHeight = requested_format_.frame_size.height(); |
- pvi->bmiHeader.biSizeImage = requested_format_.frame_size.GetArea() * 3; |
+ pvi->bmiHeader.biSizeImage = requested_format_.ImageAllocationSize(); |
media_type->subtype = MEDIASUBTYPE_RGB24; |
break; |
} |