diff options
author | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 12:39:36 +0000 |
---|---|---|
committer | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-25 12:39:36 +0000 |
commit | ca72993ecd47fbdccd4ea3786f9ac14a5fd24f57 (patch) | |
tree | 9690c10913e961c50f04d1dcca2e389e56ca64e9 /media | |
parent | 8723cf789893fba470c4edc5bf75bbcafad6f92e (diff) | |
download | chromium_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.cc | 4 |
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); |