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

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

Issue 377803004: Fixes for re-enabling more MSVC level 4 warnings: media/ edition (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Review comments Created 6 years, 5 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/video_capture_device_mf_win.h ('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_mf_win.cc
diff --git a/media/video/capture/win/video_capture_device_mf_win.cc b/media/video/capture/win/video_capture_device_mf_win.cc
index 07c7612f039f5cc1f72d96d4f74b6a4dbd01e95d..de1f6eb2dfff6056305637b94937a86eedae0b95 100644
--- a/media/video/capture/win/video_capture_device_mf_win.cc
+++ b/media/video/capture/win/video_capture_device_mf_win.cc
@@ -71,8 +71,11 @@ HRESULT FillCapabilities(IMFSourceReader* source,
DWORD stream_index = 0;
ScopedComPtr<IMFMediaType> type;
HRESULT hr;
- while (SUCCEEDED(hr = source->GetNativeMediaType(
- MF_SOURCE_READER_FIRST_VIDEO_STREAM, stream_index, type.Receive()))) {
+ for (hr = source->GetNativeMediaType(kFirstVideoStream, stream_index,
+ type.Receive());
+ SUCCEEDED(hr);
+ hr = source->GetNativeMediaType(kFirstVideoStream, stream_index,
+ type.Receive())) {
VideoCaptureCapabilityWin capability(stream_index++);
if (FillCapabilitiesFromType(type, &capability))
capabilities->Add(capability);
@@ -194,12 +197,12 @@ const std::string VideoCaptureDevice::Name::GetModel() const {
const size_t vid_location = unique_id_.find(kVidPrefix);
if (vid_location == std::string::npos ||
vid_location + vid_prefix_size + kVidPidSize > unique_id_.size()) {
- return "";
+ return std::string();
}
const size_t pid_location = unique_id_.find(kPidPrefix);
if (pid_location == std::string::npos ||
pid_location + pid_prefix_size + kVidPidSize > unique_id_.size()) {
- return "";
+ return std::string();
}
std::string id_vendor =
unique_id_.substr(vid_location + vid_prefix_size, kVidPidSize);
@@ -245,34 +248,34 @@ void VideoCaptureDeviceMFWin::AllocateAndStart(
CapabilityList capabilities;
HRESULT hr = S_OK;
- if (!reader_ || FAILED(hr = FillCapabilities(reader_, &capabilities))) {
- OnError(hr);
- return;
- }
-
- VideoCaptureCapabilityWin found_capability =
- capabilities.GetBestMatchedFormat(
- params.requested_format.frame_size.width(),
- params.requested_format.frame_size.height(),
- params.requested_format.frame_rate);
-
- ScopedComPtr<IMFMediaType> type;
- if (FAILED(hr = reader_->GetNativeMediaType(
- MF_SOURCE_READER_FIRST_VIDEO_STREAM, found_capability.stream_index,
- type.Receive())) ||
- FAILED(hr = reader_->SetCurrentMediaType(
- MF_SOURCE_READER_FIRST_VIDEO_STREAM, NULL, type))) {
- OnError(hr);
- return;
+ if (reader_) {
+ hr = FillCapabilities(reader_, &capabilities);
+ if (SUCCEEDED(hr)) {
+ VideoCaptureCapabilityWin found_capability =
+ capabilities.GetBestMatchedFormat(
+ params.requested_format.frame_size.width(),
+ params.requested_format.frame_size.height(),
+ params.requested_format.frame_rate);
+
+ ScopedComPtr<IMFMediaType> type;
+ hr = reader_->GetNativeMediaType(
+ kFirstVideoStream, found_capability.stream_index, type.Receive());
+ if (SUCCEEDED(hr)) {
+ hr = reader_->SetCurrentMediaType(kFirstVideoStream, NULL, type);
+ if (SUCCEEDED(hr)) {
+ hr = reader_->ReadSample(kFirstVideoStream, 0, NULL, NULL, NULL,
+ NULL);
+ if (SUCCEEDED(hr)) {
+ capture_format_ = found_capability.supported_format;
+ capture_ = true;
+ return;
+ }
+ }
+ }
+ }
}
- if (FAILED(hr = reader_->ReadSample(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 0,
- NULL, NULL, NULL, NULL))) {
- OnError(hr);
- return;
- }
- capture_format_ = found_capability.supported_format;
- capture_ = true;
+ OnError(hr);
}
void VideoCaptureDeviceMFWin::StopAndDeAllocate() {
@@ -285,8 +288,8 @@ void VideoCaptureDeviceMFWin::StopAndDeAllocate() {
if (capture_) {
capture_ = false;
callback_->SetSignalOnFlush(&flushed);
- HRESULT hr = reader_->Flush(MF_SOURCE_READER_ALL_STREAMS);
- wait = SUCCEEDED(hr);
+ wait = SUCCEEDED(reader_->Flush(
+ static_cast<DWORD>(MF_SOURCE_READER_ALL_STREAMS)));
if (!wait) {
callback_->SetSignalOnFlush(NULL);
}
@@ -315,8 +318,8 @@ void VideoCaptureDeviceMFWin::OnIncomingCapturedData(
}
if (capture_) {
- HRESULT hr = reader_->ReadSample(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 0,
- NULL, NULL, NULL, NULL);
+ HRESULT hr =
+ reader_->ReadSample(kFirstVideoStream, 0, NULL, NULL, NULL, NULL);
if (FAILED(hr)) {
// If running the *VideoCap* unit tests on repeat, this can sometimes
// fail with HRESULT_FROM_WINHRESULT_FROM_WIN32(ERROR_INVALID_FUNCTION).
« no previous file with comments | « media/video/capture/win/video_capture_device_mf_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698