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

Side by Side Diff: media/video/capture/win/video_capture_device_mf_win.h

Issue 691143002: Revert of Windows video capture: Remove duplicated code from GetDeviceSupportedFormats* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Windows specific implementation of VideoCaptureDevice. 5 // Windows specific implementation of VideoCaptureDevice.
6 // DirectShow is used for capturing. DirectShow provide its own threads 6 // DirectShow is used for capturing. DirectShow provide its own threads
7 // for capturing. 7 // for capturing.
8 8
9 #ifndef MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_ 9 #ifndef MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_
10 #define MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_ 10 #define MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_
11 11
12 #include <mfidl.h> 12 #include <mfidl.h>
13 #include <mfreadwrite.h> 13 #include <mfreadwrite.h>
14 14
15 #include <vector> 15 #include <vector>
16 16
17 #include "base/synchronization/lock.h" 17 #include "base/synchronization/lock.h"
18 #include "base/threading/non_thread_safe.h" 18 #include "base/threading/non_thread_safe.h"
19 #include "base/win/scoped_comptr.h" 19 #include "base/win/scoped_comptr.h"
20 #include "media/base/media_export.h" 20 #include "media/base/media_export.h"
21 #include "media/video/capture/video_capture_device.h" 21 #include "media/video/capture/video_capture_device.h"
22 #include "media/video/capture/win/capability_list_win.h"
23 22
24 interface IMFSourceReader; 23 interface IMFSourceReader;
25 24
26 namespace media { 25 namespace media {
27 26
28 class MFReaderCallback; 27 class MFReaderCallback;
29 28
30 const DWORD kFirstVideoStream = 29 const DWORD kFirstVideoStream =
31 static_cast<DWORD>(MF_SOURCE_READER_FIRST_VIDEO_STREAM); 30 static_cast<DWORD>(MF_SOURCE_READER_FIRST_VIDEO_STREAM);
32 31
33 class MEDIA_EXPORT VideoCaptureDeviceMFWin 32 class MEDIA_EXPORT VideoCaptureDeviceMFWin
34 : public base::NonThreadSafe, 33 : public base::NonThreadSafe,
35 public VideoCaptureDevice { 34 public VideoCaptureDevice {
36 public: 35 public:
37 static bool FormatFromGuid(const GUID& guid, VideoPixelFormat* format); 36 static bool FormatFromGuid(const GUID& guid, VideoPixelFormat* format);
38 static HRESULT FillCapabilities(IMFSourceReader* source,
39 CapabilityList* capabilities);
40 37
41 explicit VideoCaptureDeviceMFWin(const Name& device_name); 38 explicit VideoCaptureDeviceMFWin(const Name& device_name);
42 virtual ~VideoCaptureDeviceMFWin(); 39 virtual ~VideoCaptureDeviceMFWin();
43 40
44 // Opens the device driver for this device. 41 // Opens the device driver for this device.
45 bool Init(const base::win::ScopedComPtr<IMFMediaSource>& source); 42 bool Init(const base::win::ScopedComPtr<IMFMediaSource>& source);
46 43
47 // VideoCaptureDevice implementation. 44 // VideoCaptureDevice implementation.
48 virtual void AllocateAndStart(const VideoCaptureParams& params, 45 virtual void AllocateAndStart(const VideoCaptureParams& params,
49 scoped_ptr<VideoCaptureDevice::Client> client) 46 scoped_ptr<VideoCaptureDevice::Client> client)
(...skipping 18 matching lines...) Expand all
68 base::win::ScopedComPtr<IMFSourceReader> reader_; 65 base::win::ScopedComPtr<IMFSourceReader> reader_;
69 VideoCaptureFormat capture_format_; 66 VideoCaptureFormat capture_format_;
70 bool capture_; 67 bool capture_;
71 68
72 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceMFWin); 69 DISALLOW_IMPLICIT_CONSTRUCTORS(VideoCaptureDeviceMFWin);
73 }; 70 };
74 71
75 } // namespace media 72 } // namespace media
76 73
77 #endif // MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_ 74 #endif // MEDIA_VIDEO_CAPTURE_WIN_VIDEO_CAPTURE_DEVICE_MF_WIN_H_
OLDNEW
« no previous file with comments | « media/video/capture/win/video_capture_device_factory_win.cc ('k') | media/video/capture/win/video_capture_device_mf_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698