| 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 795dc75e96ac2fe82551fd0f58b71d5523c3b138..08e76a72792d0f488cf970373c18f4b22114e3f5 100644
|
| --- a/media/video/capture/win/sink_input_pin_win.cc
|
| +++ b/media/video/capture/win/sink_input_pin_win.cc
|
| @@ -68,8 +68,7 @@ bool SinkInputPin::GetValidMediaType(int index, AM_MEDIA_TYPE* media_type) {
|
| pvi->bmiHeader.biBitCount = 12; // bit per pixel
|
| pvi->bmiHeader.biWidth = requested_info_header_.biWidth;
|
| pvi->bmiHeader.biHeight = requested_info_header_.biHeight;
|
| - pvi->bmiHeader.biSizeImage =
|
| - GetArea(requested_info_header_) * 3 / 2;
|
| + pvi->bmiHeader.biSizeImage = GetArea(requested_info_header_) * 3 / 2;
|
| media_type->subtype = kMediaSubTypeI420;
|
| break;
|
| }
|
| @@ -151,6 +150,12 @@ bool SinkInputPin::IsMediaTypeValid(const AM_MEDIA_TYPE* media_type) {
|
| HRESULT SinkInputPin::Receive(IMediaSample* sample) {
|
| const int length = sample->GetActualDataLength();
|
| uint8* buffer = NULL;
|
| +
|
| + if (length <= 0) {
|
| + DLOG(WARNING) << "Media sample length is 0 or less.";
|
| + return S_FALSE;
|
| + }
|
| +
|
| if (FAILED(sample->GetPointer(&buffer)))
|
| return S_FALSE;
|
|
|
|
|