summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authormcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-25 12:39:36 +0000
committermcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-25 12:39:36 +0000
commitca72993ecd47fbdccd4ea3786f9ac14a5fd24f57 (patch)
tree9690c10913e961c50f04d1dcca2e389e56ca64e9 /media
parent8723cf789893fba470c4edc5bf75bbcafad6f92e (diff)
downloadchromium_src-ca72993ecd47fbdccd4ea3786f9ac14a5fd24f57.zip
chromium_src-ca72993ecd47fbdccd4ea3786f9ac14a5fd24f57.tar.gz
chromium_src-ca72993ecd47fbdccd4ea3786f9ac14a5fd24f57.tar.bz2
Windows DS VideoCapture: HDYC pixel format uses graph builder Connect() iso ConnectDirect()
ConnectDirect [1] connect the source to our video processing pipeline allowing for no adapters in between. The Decklink capture card needs an AVI decompressor (possibly for deinterlacing). Connect [2] API allows this block to be instantiated if needed, so we use it for HDYC pixel formats. Tested: Lenovo x1 carbon integrated webcam, Logitech C910 C920, Creative Senz3d, Decklink. They all work fine. [1] http://msdn.microsoft.com/en-us/library/aa926082.aspx [2] http://msdn.microsoft.com/en-us/library/windows/desktop/dd390088(v=vs.85).aspx BUG=380939 Review URL: https://codereview.chromium.org/334783003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@279689 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media')
-rw-r--r--media/video/capture/win/video_capture_device_win.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/video/capture/win/video_capture_device_win.cc b/media/video/capture/win/video_capture_device_win.cc
index 7dafb7d..e47c5cb 100644
--- a/media/video/capture/win/video_capture_device_win.cc
+++ b/media/video/capture/win/video_capture_device_win.cc
@@ -356,6 +356,10 @@ void VideoCaptureDeviceWin::AllocateAndStart(
// Connect the MJPEG filter to the Capture filter.
hr += graph_builder_->ConnectDirect(output_mjpg_pin_, input_sink_pin_,
NULL);
+ } else if (media_type->subtype == kMediaSubTypeHDYC) {
+ // HDYC pixel format, used by the DeckLink capture card, needs an AVI
+ // decompressor filter after source, let |graph_builder_| add it.
+ hr = graph_builder_->Connect(output_capture_pin_, input_sink_pin_);
} else {
hr = graph_builder_->ConnectDirect(output_capture_pin_, input_sink_pin_,
NULL);