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

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

Issue 7229013: This is the VideoCaptureDevice implementation for windows. (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: Fix crash on some Windows versions when there is no camera available. Created 9 years, 6 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_filter_win.h ('k') | media/video/capture/win/sink_input_pin_win.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/video/capture/win/sink_filter_win.cc
===================================================================
--- media/video/capture/win/sink_filter_win.cc (revision 0)
+++ media/video/capture/win/sink_filter_win.cc (revision 0)
@@ -0,0 +1,53 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "media/video/capture/win/sink_filter_win.h"
+
+#include "base/logging.h"
+#include "media/video/capture/win/sink_input_pin_win.h"
+
+// Define GUID for I420. This is the color format we would like to support but
+// it is not defined in the DirectShow SDK.
+// http://msdn.microsoft.com/en-us/library/dd757532.aspx
+// 30323449-0000-0010-8000-00AA00389B71.
+GUID kMediaSubTypeI420 = {
+ 0x30323449, 0x0000, 0x0010, { 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71}
+};
+
+namespace media {
+
+SinkFilterObserver::~SinkFilterObserver() {}
+
+SinkFilter::SinkFilter(SinkFilterObserver* observer)
+ : input_pin_(NULL) {
+ input_pin_ = new SinkInputPin(this, observer);
+}
+
+SinkFilter::~SinkFilter() {
+ input_pin_->SetOwner(NULL);
+}
+
+void SinkFilter::SetRequestedMediaCapability(
+ const VideoCaptureDevice::Capability& capability) {
+ input_pin_->SetRequestedMediaCapability(capability);
+}
+
+const VideoCaptureDevice::Capability& SinkFilter::ResultingCapability() {
+ return input_pin_->ResultingCapability();
+}
+
+size_t SinkFilter::NoOfPins() {
+ return 1;
+}
+
+IPin* SinkFilter::GetPin(int index) {
+ return index == 0 ? input_pin_ : NULL;
+}
+
+STDMETHODIMP SinkFilter::GetClassID(CLSID* clsid) {
+ *clsid = __uuidof(SinkFilter);
+ return S_OK;
+}
+
+} // namespace media
« no previous file with comments | « media/video/capture/win/sink_filter_win.h ('k') | media/video/capture/win/sink_input_pin_win.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698