From 8cd18c55b875b264ed256d53207bd819abb46670 Mon Sep 17 00:00:00 2001 From: "andrew@webrtc.org" Date: Wed, 21 Nov 2012 18:46:45 +0000 Subject: [PATCH] Add winsdk_samples to provide directshow_baseclasses. Builds locally on Windows (and passes try), and a gyp run succeeds with include_internal_video_capture=0. This should ensure it won't impact Chromium. Review URL: https://webrtc-codereview.appspot.com/937026 git-svn-id: http://webrtc.googlecode.com/svn/trunk@3146 4adac7df-926f-26a2-2b94-8c16560cd09d --- DEPS | 3 + third_party/winsdk_samples/README.webrtc | 15 +++ third_party/winsdk_samples/winsdk_samples.gyp | 90 ++++++++++++++++ .../modules/video_capture/video_capture.gypi | 4 +- .../windows/direct_show_base_classes.gyp | 102 ------------------ 5 files changed, 110 insertions(+), 104 deletions(-) create mode 100644 third_party/winsdk_samples/README.webrtc create mode 100644 third_party/winsdk_samples/winsdk_samples.gyp delete mode 100644 webrtc/modules/video_capture/windows/direct_show_base_classes.gyp diff --git a/DEPS b/DEPS index f84fd38ad..563a233a9 100644 --- a/DEPS +++ b/DEPS @@ -95,6 +95,9 @@ deps_os = { "third_party/cygwin": (Var("googlecode_url") % "webrtc") + "/deps/third_party/cygwin@2672", + "third_party/winsdk_samples/src": + (Var("googlecode_url") % "webrtc") + "/deps/third_party/winsdk_samples_v71@3145", + # Used by libjpeg-turbo. "third_party/yasm/binaries": From("chromium_deps", "src/third_party/yasm/binaries"), diff --git a/third_party/winsdk_samples/README.webrtc b/third_party/winsdk_samples/README.webrtc new file mode 100644 index 000000000..ee8c1857c --- /dev/null +++ b/third_party/winsdk_samples/README.webrtc @@ -0,0 +1,15 @@ +Name: winsdk_samples +URL: http://www.microsoft.com/en-us/download/details.aspx?id=8279 +Version: 7.1 +License: Microsoft Windows SDK license +License File: src/License/License.htm +Security Critical: yes + +Description: +This contains a copy of a portion of the Microsoft Windows SDK 7.1 sample +code. It is covered by the "Sample Code" section of the license. + +This would typically be installed to: +C:\Program Files\Microsoft SDKs\Windows\v7.1 + +It is used by WebRTC to capture video from a camera on Windows. diff --git a/third_party/winsdk_samples/winsdk_samples.gyp b/third_party/winsdk_samples/winsdk_samples.gyp new file mode 100644 index 000000000..a9b8598ad --- /dev/null +++ b/third_party/winsdk_samples/winsdk_samples.gyp @@ -0,0 +1,90 @@ +# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. +# +# Use of this source code is governed by a BSD-style license +# that can be found in the LICENSE file in the root of the source +# tree. An additional intellectual property rights grant can be found +# in the file PATENTS. All contributing project authors may +# be found in the AUTHORS file in the root of the source tree. + +{ + 'targets': [ + { + 'target_name': 'directshow_baseclasses', + 'type': 'static_library', + 'variables': { + 'baseclasses_dir%': + 'src/Samples/multimedia/directshow/baseclasses', + }, + 'defines!': [ + 'NOMINMAX', + ], + 'include_dirs': ['<(baseclasses_dir)',], + 'direct_dependent_settings': { + 'include_dirs': ['<(baseclasses_dir)',], + }, + 'sources': [ + '<(baseclasses_dir)/amextra.cpp', + '<(baseclasses_dir)/amextra.h', + '<(baseclasses_dir)/amfilter.cpp', + '<(baseclasses_dir)/amfilter.h', + '<(baseclasses_dir)/amvideo.cpp', + '<(baseclasses_dir)/cache.h', + '<(baseclasses_dir)/combase.cpp', + '<(baseclasses_dir)/combase.h', + '<(baseclasses_dir)/cprop.cpp', + '<(baseclasses_dir)/cprop.h', + '<(baseclasses_dir)/ctlutil.cpp', + '<(baseclasses_dir)/ctlutil.h', + '<(baseclasses_dir)/ddmm.cpp', + '<(baseclasses_dir)/ddmm.h', + '<(baseclasses_dir)/dllentry.cpp', + '<(baseclasses_dir)/dllsetup.cpp', + '<(baseclasses_dir)/dllsetup.h', + '<(baseclasses_dir)/fourcc.h', + '<(baseclasses_dir)/measure.h', + '<(baseclasses_dir)/msgthrd.h', + '<(baseclasses_dir)/mtype.cpp', + '<(baseclasses_dir)/mtype.h', + '<(baseclasses_dir)/outputq.cpp', + '<(baseclasses_dir)/outputq.h', + '<(baseclasses_dir)/pstream.cpp', + '<(baseclasses_dir)/pstream.h', + '<(baseclasses_dir)/pullpin.cpp', + '<(baseclasses_dir)/pullpin.h', + '<(baseclasses_dir)/refclock.cpp', + '<(baseclasses_dir)/refclock.h', + '<(baseclasses_dir)/reftime.h', + '<(baseclasses_dir)/renbase.cpp', + '<(baseclasses_dir)/renbase.h', + '<(baseclasses_dir)/schedule.cpp', + '<(baseclasses_dir)/seekpt.cpp', + '<(baseclasses_dir)/seekpt.h', + '<(baseclasses_dir)/source.cpp', + '<(baseclasses_dir)/source.h', + '<(baseclasses_dir)/streams.h', + '<(baseclasses_dir)/strmctl.cpp', + '<(baseclasses_dir)/strmctl.h', + '<(baseclasses_dir)/sysclock.cpp', + '<(baseclasses_dir)/sysclock.h', + '<(baseclasses_dir)/transfrm.cpp', + '<(baseclasses_dir)/transfrm.h', + '<(baseclasses_dir)/transip.cpp', + '<(baseclasses_dir)/transip.h', + '<(baseclasses_dir)/videoctl.cpp', + '<(baseclasses_dir)/videoctl.h', + '<(baseclasses_dir)/vtrans.cpp', + '<(baseclasses_dir)/vtrans.h', + '<(baseclasses_dir)/winctrl.cpp', + '<(baseclasses_dir)/winctrl.h', + '<(baseclasses_dir)/winutil.cpp', + '<(baseclasses_dir)/winutil.h', + '<(baseclasses_dir)/wxdebug.cpp', + '<(baseclasses_dir)/wxdebug.h', + '<(baseclasses_dir)/wxlist.cpp', + '<(baseclasses_dir)/wxlist.h', + '<(baseclasses_dir)/wxutil.cpp', + '<(baseclasses_dir)/wxutil.h', + ], + }, + ], +} diff --git a/webrtc/modules/video_capture/video_capture.gypi b/webrtc/modules/video_capture/video_capture.gypi index b7eefc5cd..5ee04bf7d 100644 --- a/webrtc/modules/video_capture/video_capture.gypi +++ b/webrtc/modules/video_capture/video_capture.gypi @@ -39,7 +39,7 @@ 'external/device_info_external.cc', 'external/video_capture_external.cc', ], - },{ # include_internal_video_capture == 1 + }, { # include_internal_video_capture == 1 'conditions': [ ['OS=="linux"', { 'include_dirs': [ @@ -80,7 +80,7 @@ }], # mac ['OS=="win"', { 'dependencies': [ - '<(webrtc_root)/modules/video_capture/windows/direct_show_base_classes.gyp:direct_show_base_classes', + '<(DEPTH)/third_party/winsdk_samples/winsdk_samples.gyp:directshow_baseclasses', ], 'include_dirs': [ 'windows', diff --git a/webrtc/modules/video_capture/windows/direct_show_base_classes.gyp b/webrtc/modules/video_capture/windows/direct_show_base_classes.gyp deleted file mode 100644 index 1eb212720..000000000 --- a/webrtc/modules/video_capture/windows/direct_show_base_classes.gyp +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. -# -# Use of this source code is governed by a BSD-style license -# that can be found in the LICENSE file in the root of the source -# tree. An additional intellectual property rights grant can be found -# in the file PATENTS. All contributing project authors may -# be found in the AUTHORS file in the root of the source tree. - -# This target is broken out into its own gyp file in order to be treated as -# third party code. (Since src/build/common.gypi is not included, -# chromium_code is disabled). -# -# We can't place this in third_party/ because Chromium parses -# video_capture.gypi and would fail to find it in the Chromium third_party/. -{ - 'targets': [ - { - 'target_name': 'direct_show_base_classes', - 'type': 'static_library', - 'variables': { - # Path needed to build the Direct Show base classes on Windows. The - # code is included in the Windows SDK. - 'direct_show_dir%': - 'C:/Program Files/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses/', - }, - 'defines!': [ - 'NOMINMAX', - ], - 'include_dirs': [ - '<(direct_show_dir)', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '<(direct_show_dir)', - ], - }, - 'sources': [ - '<(direct_show_dir)amextra.cpp', - '<(direct_show_dir)amextra.h', - '<(direct_show_dir)amfilter.cpp', - '<(direct_show_dir)amfilter.h', - '<(direct_show_dir)amvideo.cpp', - '<(direct_show_dir)cache.h', - '<(direct_show_dir)combase.cpp', - '<(direct_show_dir)combase.h', - '<(direct_show_dir)cprop.cpp', - '<(direct_show_dir)cprop.h', - '<(direct_show_dir)ctlutil.cpp', - '<(direct_show_dir)ctlutil.h', - '<(direct_show_dir)ddmm.cpp', - '<(direct_show_dir)ddmm.h', - '<(direct_show_dir)dllentry.cpp', - '<(direct_show_dir)dllsetup.cpp', - '<(direct_show_dir)dllsetup.h', - '<(direct_show_dir)fourcc.h', - '<(direct_show_dir)measure.h', - '<(direct_show_dir)msgthrd.h', - '<(direct_show_dir)mtype.cpp', - '<(direct_show_dir)mtype.h', - '<(direct_show_dir)outputq.cpp', - '<(direct_show_dir)outputq.h', - '<(direct_show_dir)pstream.cpp', - '<(direct_show_dir)pstream.h', - '<(direct_show_dir)pullpin.cpp', - '<(direct_show_dir)pullpin.h', - '<(direct_show_dir)refclock.cpp', - '<(direct_show_dir)refclock.h', - '<(direct_show_dir)reftime.h', - '<(direct_show_dir)renbase.cpp', - '<(direct_show_dir)renbase.h', - '<(direct_show_dir)schedule.cpp', - '<(direct_show_dir)seekpt.cpp', - '<(direct_show_dir)seekpt.h', - '<(direct_show_dir)source.cpp', - '<(direct_show_dir)source.h', - '<(direct_show_dir)streams.h', - '<(direct_show_dir)strmctl.cpp', - '<(direct_show_dir)strmctl.h', - '<(direct_show_dir)sysclock.cpp', - '<(direct_show_dir)sysclock.h', - '<(direct_show_dir)transfrm.cpp', - '<(direct_show_dir)transfrm.h', - '<(direct_show_dir)transip.cpp', - '<(direct_show_dir)transip.h', - '<(direct_show_dir)videoctl.cpp', - '<(direct_show_dir)videoctl.h', - '<(direct_show_dir)vtrans.cpp', - '<(direct_show_dir)vtrans.h', - '<(direct_show_dir)winctrl.cpp', - '<(direct_show_dir)winctrl.h', - '<(direct_show_dir)winutil.cpp', - '<(direct_show_dir)winutil.h', - '<(direct_show_dir)wxdebug.cpp', - '<(direct_show_dir)wxdebug.h', - '<(direct_show_dir)wxlist.cpp', - '<(direct_show_dir)wxlist.h', - '<(direct_show_dir)wxutil.cpp', - '<(direct_show_dir)wxutil.h', - ], - }, - ], -}