Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Unified Diff: media/video/capture/win/video_capture_device_win.cc

Issue 913183006: Use BITMAPINFOHEADER from capture capability enumeration when using MJPG (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed a nit. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/video/capture/win/sink_input_pin_win.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/capture/win/video_capture_device_win.cc
diff --git a/media/video/capture/win/video_capture_device_win.cc b/media/video/capture/win/video_capture_device_win.cc
index 0a4ff690ffe46ce52db34adda9c9e6e63dfeb273..62a103c3ea30b7ab4ba507da0c5a8b772542fa21 100644
--- a/media/video/capture/win/video_capture_device_win.cc
+++ b/media/video/capture/win/video_capture_device_win.cc
@@ -178,7 +178,7 @@ void VideoCaptureDeviceWin::ScopedMediaType::Free() {
return;
DeleteMediaType(media_type_);
- media_type_= NULL;
+ media_type_ = NULL;
}
AM_MEDIA_TYPE** VideoCaptureDeviceWin::ScopedMediaType::Receive() {
@@ -319,12 +319,11 @@ void VideoCaptureDeviceWin::AllocateAndStart(
// Get the camera capability that best match the requested format.
const CapabilityWin found_capability =
GetBestMatchedCapability(params.requested_format, capabilities_);
- VideoCaptureFormat format = found_capability.supported_format;
// Reduce the frame rate if the requested frame rate is lower
// than the capability.
- format.frame_rate =
- std::min(format.frame_rate, params.requested_format.frame_rate);
+ float frame_rate = std::min(found_capability.supported_format.frame_rate,
+ params.requested_format.frame_rate);
ScopedComPtr<IAMStreamConfig> stream_config;
HRESULT hr = output_capture_pin_.QueryInterface(stream_config.Receive());
@@ -355,11 +354,13 @@ void VideoCaptureDeviceWin::AllocateAndStart(
if (media_type->formattype == FORMAT_VideoInfo) {
VIDEOINFOHEADER* h =
reinterpret_cast<VIDEOINFOHEADER*>(media_type->pbFormat);
- if (format.frame_rate > 0)
- h->AvgTimePerFrame = kSecondsToReferenceTime / format.frame_rate;
+ if (frame_rate > 0)
+ h->AvgTimePerFrame = kSecondsToReferenceTime / frame_rate;
}
// Set the sink filter to request this format.
- sink_filter_->SetRequestedMediaFormat(format);
+ sink_filter_->SetRequestedMediaFormat(
+ found_capability.supported_format.pixel_format, frame_rate,
+ found_capability.info_header);
// Order the capture device to use this format.
hr = stream_config->SetFormat(media_type.get());
if (FAILED(hr)) {
@@ -515,7 +516,7 @@ bool VideoCaptureDeviceWin::CreateCapabilityMap() {
? (kSecondsToReferenceTime / static_cast<float>(time_per_frame))
: 0.0;
- capabilities_.emplace_back(stream_index, format);
+ capabilities_.emplace_back(stream_index, format, h->bmiHeader);
}
}
« no previous file with comments | « media/video/capture/win/sink_input_pin_win.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698