Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/video/capture/win/video_capture_device_factory_win.h" | 5 #include "media/video/capture/win/video_capture_device_factory_win.h" |
| 6 | 6 |
| 7 #include <mfapi.h> | 7 #include <mfapi.h> |
| 8 #include <mferror.h> | 8 #include <mferror.h> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 291 VideoCaptureFormat format; | 291 VideoCaptureFormat format; |
| 292 format.pixel_format = | 292 format.pixel_format = |
| 293 VideoCaptureDeviceWin::TranslateMediaSubtypeToPixelFormat( | 293 VideoCaptureDeviceWin::TranslateMediaSubtypeToPixelFormat( |
| 294 media_type->subtype); | 294 media_type->subtype); |
| 295 if (format.pixel_format == PIXEL_FORMAT_UNKNOWN) | 295 if (format.pixel_format == PIXEL_FORMAT_UNKNOWN) |
| 296 continue; | 296 continue; |
| 297 VIDEOINFOHEADER* h = | 297 VIDEOINFOHEADER* h = |
| 298 reinterpret_cast<VIDEOINFOHEADER*>(media_type->pbFormat); | 298 reinterpret_cast<VIDEOINFOHEADER*>(media_type->pbFormat); |
| 299 format.frame_size.SetSize(h->bmiHeader.biWidth, | 299 format.frame_size.SetSize(h->bmiHeader.biWidth, |
| 300 h->bmiHeader.biHeight); | 300 h->bmiHeader.biHeight); |
| 301 if (!h->AvgTimePerFrame) | |
|
perkj_chrome
2014/06/19 11:23:35
So this does not add the format at all. Is that re
| |
| 302 continue; | |
| 301 // Trust the frame rate from the VIDEOINFOHEADER. | 303 // Trust the frame rate from the VIDEOINFOHEADER. |
| 302 format.frame_rate = (h->AvgTimePerFrame > 0) ? | 304 format.frame_rate = |
| 303 kSecondsToReferenceTime / static_cast<float>(h->AvgTimePerFrame) : | 305 kSecondsToReferenceTime / static_cast<float>(h->AvgTimePerFrame); |
| 304 0.0; | |
| 305 | 306 |
| 306 formats->push_back(format); | 307 formats->push_back(format); |
| 307 DVLOG(1) << device.name() << " resolution: " | 308 DVLOG(1) << device.name() << " resolution: " |
| 308 << format.frame_size.ToString() << ", fps: " << format.frame_rate | 309 << format.frame_size.ToString() << ", fps: " << format.frame_rate |
| 309 << ", pixel format: " << format.pixel_format; | 310 << ", pixel format: " << format.pixel_format; |
| 310 } | 311 } |
| 311 } | 312 } |
| 312 } | 313 } |
| 313 } | 314 } |
| 314 | 315 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 441 const VideoCaptureDevice::Name& device, | 442 const VideoCaptureDevice::Name& device, |
| 442 VideoCaptureFormats* formats) { | 443 VideoCaptureFormats* formats) { |
| 443 DCHECK(thread_checker_.CalledOnValidThread()); | 444 DCHECK(thread_checker_.CalledOnValidThread()); |
| 444 if (use_media_foundation_) | 445 if (use_media_foundation_) |
| 445 GetDeviceSupportedFormatsMediaFoundation(device, formats); | 446 GetDeviceSupportedFormatsMediaFoundation(device, formats); |
| 446 else | 447 else |
| 447 GetDeviceSupportedFormatsDirectShow(device, formats); | 448 GetDeviceSupportedFormatsDirectShow(device, formats); |
| 448 } | 449 } |
| 449 | 450 |
| 450 } // namespace media | 451 } // namespace media |
| OLD | NEW |