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

Side by Side Diff: media/video/capture/win/video_capture_device_mf_win.cc

Issue 48113011: Remove media::VideoFrame from media::VideoCaptureDevice::Client interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@git-svn
Patch Set: ffdbaeb83 Trybot failures. Created 7 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_mf_win.h" 5 #include "media/video/capture/win/video_capture_device_mf_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/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 411
412 void VideoCaptureDeviceMFWin::OnIncomingCapturedFrame( 412 void VideoCaptureDeviceMFWin::OnIncomingCapturedFrame(
413 const uint8* data, 413 const uint8* data,
414 int length, 414 int length,
415 const base::Time& time_stamp, 415 const base::Time& time_stamp,
416 int rotation, 416 int rotation,
417 bool flip_vert, 417 bool flip_vert,
418 bool flip_horiz) { 418 bool flip_horiz) {
419 base::AutoLock lock(lock_); 419 base::AutoLock lock(lock_);
420 if (data && client_.get()) 420 if (data && client_.get())
421 client_->OnIncomingCapturedFrame(data, length, time_stamp, 421 client_->OnIncomingCapturedFrame(data,
422 rotation, flip_vert, flip_horiz, 422 length,
423 time_stamp,
424 rotation,
425 flip_vert,
426 flip_horiz,
423 current_setting_); 427 current_setting_);
424 428
425 if (capture_) { 429 if (capture_) {
426 HRESULT hr = reader_->ReadSample(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 0, 430 HRESULT hr = reader_->ReadSample(MF_SOURCE_READER_FIRST_VIDEO_STREAM, 0,
427 NULL, NULL, NULL, NULL); 431 NULL, NULL, NULL, NULL);
428 if (FAILED(hr)) { 432 if (FAILED(hr)) {
429 // If running the *VideoCap* unit tests on repeat, this can sometimes 433 // If running the *VideoCap* unit tests on repeat, this can sometimes
430 // fail with HRESULT_FROM_WINHRESULT_FROM_WIN32(ERROR_INVALID_FUNCTION). 434 // fail with HRESULT_FROM_WINHRESULT_FROM_WIN32(ERROR_INVALID_FUNCTION).
431 // It's not clear to me why this is, but it is possible that it has 435 // It's not clear to me why this is, but it is possible that it has
432 // something to do with this bug: 436 // something to do with this bug:
433 // http://support.microsoft.com/kb/979567 437 // http://support.microsoft.com/kb/979567
434 OnError(hr); 438 OnError(hr);
435 } 439 }
436 } 440 }
437 } 441 }
438 442
439 void VideoCaptureDeviceMFWin::OnError(HRESULT hr) { 443 void VideoCaptureDeviceMFWin::OnError(HRESULT hr) {
440 DLOG(ERROR) << "VideoCaptureDeviceMFWin: " << std::hex << hr; 444 DLOG(ERROR) << "VideoCaptureDeviceMFWin: " << std::hex << hr;
441 if (client_.get()) 445 if (client_.get())
442 client_->OnError(); 446 client_->OnError();
443 } 447 }
444 448
445 } // namespace media 449 } // namespace media
OLDNEW
« no previous file with comments | « media/video/capture/video_capture_device_unittest.cc ('k') | media/video/capture/win/video_capture_device_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698