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 a57e291d7c3d93926b85d2b76b024d1018439ced..8212e15fe9f04b1c4d681edd3c8f8fa0f534ccfe 100644 |
--- a/media/video/capture/win/sink_input_pin_win.cc |
+++ b/media/video/capture/win/sink_input_pin_win.cc |
@@ -69,7 +69,8 @@ |
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_.ImageAllocationSize(); |
+ pvi->bmiHeader.biSizeImage = |
+ requested_format_.frame_size.GetArea() * 3 / 2; |
media_type->subtype = kMediaSubTypeI420; |
break; |
} |
@@ -78,7 +79,7 @@ |
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_.ImageAllocationSize(); |
+ pvi->bmiHeader.biSizeImage = requested_format_.frame_size.GetArea() * 2; |
media_type->subtype = MEDIASUBTYPE_YUY2; |
break; |
} |
@@ -87,7 +88,7 @@ |
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_.ImageAllocationSize(); |
+ pvi->bmiHeader.biSizeImage = requested_format_.frame_size.GetArea() * 3; |
media_type->subtype = MEDIASUBTYPE_RGB24; |
break; |
} |