OLD | NEW |
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 // Implement a simple base class for DirectShow filters. It may only be used in | 5 // Implement a simple base class for DirectShow filters. It may only be used in |
6 // a single threaded apartment. | 6 // a single threaded apartment. |
7 | 7 |
8 #ifndef MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ | 8 #ifndef MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ |
9 #define MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ | 9 #define MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ |
10 | 10 |
11 // Avoid including strsafe.h via dshow as it will cause build warnings. | 11 // Avoid including strsafe.h via dshow as it will cause build warnings. |
12 #define NO_DSHOW_STRSAFE | 12 #define NO_DSHOW_STRSAFE |
13 #include <dshow.h> | 13 #include <dshow.h> |
| 14 #include <stddef.h> |
14 | 15 |
15 #include "base/macros.h" | 16 #include "base/macros.h" |
16 #include "base/memory/ref_counted.h" | 17 #include "base/memory/ref_counted.h" |
17 #include "base/win/scoped_comptr.h" | 18 #include "base/win/scoped_comptr.h" |
18 | 19 |
19 namespace media { | 20 namespace media { |
20 | 21 |
21 class FilterBase : public IBaseFilter, public base::RefCounted<FilterBase> { | 22 class FilterBase : public IBaseFilter, public base::RefCounted<FilterBase> { |
22 public: | 23 public: |
23 FilterBase(); | 24 FilterBase(); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 private: | 67 private: |
67 FILTER_STATE state_; | 68 FILTER_STATE state_; |
68 base::win::ScopedComPtr<IFilterGraph> owning_graph_; | 69 base::win::ScopedComPtr<IFilterGraph> owning_graph_; |
69 | 70 |
70 DISALLOW_COPY_AND_ASSIGN(FilterBase); | 71 DISALLOW_COPY_AND_ASSIGN(FilterBase); |
71 }; | 72 }; |
72 | 73 |
73 } // namespace media | 74 } // namespace media |
74 | 75 |
75 #endif // MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ | 76 #endif // MEDIA_VIDEO_CAPTURE_WIN_FILTER_BASE_WIN_H_ |
OLD | NEW |