diff options
author | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 01:49:20 +0000 |
---|---|---|
committer | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-21 01:49:20 +0000 |
commit | cf6c86f8d7288f0a46a9310f85101cb050d0a46d (patch) | |
tree | 5fa9e8556b181857a9b44af3e3d3b28dd44e2b19 /media/media.gyp | |
parent | 698d02886293c3d303e8a7b9644eb4425015f62d (diff) | |
download | chromium_src-cf6c86f8d7288f0a46a9310f85101cb050d0a46d.zip chromium_src-cf6c86f8d7288f0a46a9310f85101cb050d0a46d.tar.gz chromium_src-cf6c86f8d7288f0a46a9310f85101cb050d0a46d.tar.bz2 |
VideoCaptureDeviceWin: Extract class-static method into a Factory (both MF/DS)
This CL extends the separation Factory/device
initiated in the other CLs part of the bug. Aside
from code cleanup, it allows for better testing
(via dependency injection) of the factory parts
(this is specially important for blacklisted devices,
of which there are none in Win ATM). It can also
be used to modify the GetDeviceNames() method to
an asynchronous API.
Both VideoCaptureDeviceWin and VideoCaptureDeviceMFwin
(using DirectShow and MediaFoundation APIs resp.),
have a number of static methods Create(),
GetDeviceNames() and GetDeviceSupportedFormats().
Plus, there are overarching versions of those
at the VideoCaptureDevice level, that do library
initialisation and appropriate forwarding to one
or the other implementation. This CL extracts all
of those class-static methods and moves them to
a single VideoCaptureDeviceFactoryWin.
ScopedMediaType, previously file-level data type
moves to the public def of VideoCaptureDeviceWin
since is used in the Factory.
Every file-static function and variable that could,
has been moved to the Factory file. Previous
file-level static functions that are used in the
Factory and the VCD have been changed to VCD
static methods and used in both ends.
TBR= dalecurtis@chromium.org (media/media.gyp)
BUG=323913
Review URL: https://codereview.chromium.org/276383002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271800 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/media.gyp')
-rw-r--r-- | media/media.gyp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/media/media.gyp b/media/media.gyp index 6513132..bfe7627 100644 --- a/media/media.gyp +++ b/media/media.gyp @@ -505,6 +505,8 @@ 'video/capture/win/sink_filter_win.h', 'video/capture/win/sink_input_pin_win.cc', 'video/capture/win/sink_input_pin_win.h', + 'video/capture/win/video_capture_device_factory_win.cc', + 'video/capture/win/video_capture_device_factory_win.h', 'video/capture/win/video_capture_device_mf_win.cc', 'video/capture/win/video_capture_device_mf_win.h', 'video/capture/win/video_capture_device_win.cc', |